Analisi e Progettazione di Algoritmi - Vocabolario

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/27

flashcard set

Earn XP

Description and Tags

Flashcard di vocabolario basate sulle note del corso di Analisi e Progettazione di Algoritmi, per il ripasso dei concetti fondamentali relativi ad analisi della complessità, programmazione dinamica, algoritmi golosi, algoritmi su grafi e teoria della NP-completezza.

Last updated 10:10 PM on 9/4/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

28 Terms

1
New cards

Notazione O(f(n))O(f(n))

Insieme delle funzioni g(n)g(n) per cui esistono due costanti c>0c > 0 e n00n_0 \ge 0 tali che g(n)cf(n)g(n) \le c \cdot f(n) per ogni nn0n \ge n_0.

2
New cards

Notazione Ω(f(n))\Omega(f(n))

Insieme delle funzioni g(n)g(n) per cui esistono due costanti c>0c > 0 e n00n_0 \ge 0 tali che g(n)cf(n)g(n) \ge c \cdot f(n) per ogni nn0n \ge n_0.

3
New cards

Notazione Θ(f(n))\Theta(f(n))

Insieme delle funzioni g(n)g(n) per cui esistono tre costanti c1,c2>0c_1, c_2 > 0 e n00n_0 \ge 0 tali che c1f(n)g(n)c2f(n)c_1 \cdot f(n) \le g(n) \le c_2 \cdot f(n) per ogni nn0n \ge n_0.

4
New cards

Analisi Ammortizzata

Tecnica di analisi che misura il costo medio per operazione su una sequenza di operazioni nel caso peggiore, distribuendo il costo di operazioni rare e costose su molte operazioni economiche.

5
New cards

Master Method

Teorema per risolvere relazioni di ricorrenza della forma T(n)=aT(n/b)+t(n)T(n) = a \cdot T(\lceil n/b \rceil) + t(n) per a1a \ge 1 e b>1b > 1, determinando la complessità in base al confronto tra t(n)t(n) e ncn^c con c=logbac = \log_b a.

6
New cards

Invariante di Ciclo

Condizione logica che deve valere all'inizio del ciclo e rimanere vera dopo ogni iterazione del corpo del ciclo, utilizzata per dimostrare la correttezza formale degli algoritmi iterativi.

7
New cards

Programmazione Dinamica

Tecnica di progettazione di algoritmi bottom-up che risolve i problemi combinando le soluzioni di sottoproblemi più piccoli, memorizzandole in una struttura dati per evitare di ricalcolare sottoproblemi ripetuti.

8
New cards
<p>Triangolo di Pascal-Tartaglia</p>

Triangolo di Pascal-Tartaglia

Rappresentazione tabellare usata nella programmazione dinamica per calcolare i coefficienti binomiali con complessità temporale O(n2)O(n^2).

9
New cards
<p>Tabella di Programmazione Dinamica per LCS</p>

Tabella di Programmazione Dinamica per LCS

Matrice di dimensione (m+1)×(n+1)(m+1) \times (n+1) usata per memorizzare le lunghezze delle più lunghe sottosequenze comuni di prefissi e ricostruire la soluzione ottima risalendo i riferimenti memorizzati.

10
New cards

Sottostruttura Ottima

Proprietà di un problema di ottimizzazione per cui la soluzione ottima globale contiene al suo interno le soluzioni ottime dei sottoproblemi che la compongono.

11
New cards

Algoritmo Goloso (Greedy)

Tecnica di progettazione di algoritmi che costruisce la soluzione in modo incrementale compiendo a ogni passo la scelta localmente ottima.

12
New cards

Codice Prefisso

Insieme di codici binari a lunghezza variabile in cui nessun codice è il prefisso di un altro, garantendo la decodificabilità univoca e immediata.

13
New cards
<p>Albero del Codice di Huffman</p>

Albero del Codice di Huffman

Albero binario costruito con approccio goloso bottom-up che rappresenta un codice prefisso ottimale a lunghezza variabile basato sulle frequenze dei simboli.

14
New cards
<p>Guscio Convesso (Convex Hull)</p>

Guscio Convesso (Convex Hull)

Il più piccolo poligono convesso che racchiude un insieme finito PP di nn punti nel piano.

15
New cards

Algoritmo di Jarvis (Gift Wrapping)

Algoritmo goloso per il calcolo del guscio convesso che seleziona sequenzialmente i vertici del poligono con complessità temporale output-sensitive O(nk)O(n \cdot k), dove kk è il numero di vertici del guscio.

16
New cards

Grafo Orientato Aciclico (DAG)

Grafo orientato privo di cicli orientati, nel quale la relazione di raggiungibilità definisce un ordine parziale sui vertici.

17
New cards

Ordinamento Topologico

Ordinamento totale << dei vertici di un grafo orientato aciclico (DAG) tale che per ogni arco (u,v)(u, v) si abbia u<vu < v.

18
New cards

Componente Fortemente Connessa

Sottografo massimale di un grafo orientato in cui ogni coppia di vertici uu e vv è mutuamente raggiungibile.

19
New cards

Albero di Ricoprimento Minimo (MST)

Sottografo connesso e aciclico di un grafo non orientato e pesato che contiene tutti i nodi del grafo e minimizza la somma dei pesi degli archi.

20
New cards
<p>Algoritmo di Prim</p>

Algoritmo di Prim

Algoritmo goloso che costruisce un albero di ricoprimento minimo espandendo un singolo albero a partire da un nodo radice, aggiungendo a ogni passo l'arco di costo minimo connesso alla frontiera.

21
New cards

Algoritmo di Kruskal

Algoritmo goloso per il calcolo dell'albero di ricoprimento minimo che esamina tutti gli archi in ordine crescente di peso e li aggiunge alla soluzione se uniscono due alberi distinti di una foresta.

22
New cards

Struttura Dati Union-Find

Struttura dati che gestisce una collezione di insiemi disgiunti mediante l'uso di alberi, supportando le operazioni makeSet, union e find ottimizzate da euritiche come union-by-size, union-by-rank e path compression.

23
New cards
<p>Algoritmo di Dijkstra</p>

Algoritmo di Dijkstra

Algoritmo goloso per la ricerca dei cammini minimi da una sorgente singola in un grafo pesato con pesi non negativi, basato sull'uso di una coda di priorità.

24
New cards
<p>Algoritmo di Floyd-Warshall</p>

Algoritmo di Floyd-Warshall

Algoritmo di programmazione dinamica che calcola le distanze dei cammini minimi tra tutte le coppie di nodi in un grafo orientato pesato privo di cicli di costo negativo, con complessità temporale O(n3)O(n^3).

25
New cards

Classe P

Classe dei problemi di decisione che possono essere risolti da un algoritmo deterministico in tempo polinomiale O(nk)O(n^k) per una costante kk.

26
New cards

Classe NP

Classe dei problemi di decisione verificabili in tempo polinomiale da un algoritmo deterministico di verifica dato un opportuno certificato di dimensione polinomiale.

27
New cards

Riduzione Polinomiale (P1PP2P_1 \le_P P_2)

Funzione ff calcolabile in tempo polinomiale che trasforma ogni istanza xx di P1P_1 in un'istanza f(x)f(x) di P2P_2 tale che xP1x \in P_1 se e solo se f(x)P2f(x) \in P_2.

28
New cards

Problema NP-Completo

Problema PP appartenente alla classe NP che risulta anche NP-arduo, ovvero a cui ogni altro problema in NP è riducibile in tempo polinomiale.