Teorema del Master: Analizza le relazioni di ricorrenza tipiche degli algoritmi Divide et Impera, come T(n) = aT(n/b) + cn^β. Applicato a esempi come T(n) = 2T(n/2) + n/2 (O(n log n)).
Analisi Ammortizzata: Valuta il costo medio di una sequenza di operazioni (es. ridimensionamento ArrayList, costo ammortizzato O(k)).
Strutture Merge-Find (Disjoint Set Union): Gestiscono insiemi disgiunti.
Quick Find: Rappresentante O(1), unione O(n).
Quick Union: Unione O(1), rappresentante O(n).
Euristiche (peso/rango): Ottimizzano find e merge a O(log n).
Divide et Impera: Suddivisione, risoluzione ricorsiva, combinazione. Esempi: Torre di Hanoi (O(2^n)), moltiplicazione interi (Karatsuba, O(n^1.59)), matrici (Strassen, O(n^2.81)).
Programmazione Dinamica: Tecnica bottom-up che risolve sottoproblemi una sola volta memorizzando i risultati. Esempi:
Fibonacci: Da O(2^n) a O(n) (anche O(1) spazio).
Sottovettore Massimo: O(n).
Seam Carving: Rimodimensionamento immagini basato su costo minimo di “cuciture” di pixel.
Algoritmi Greedy: Scelgono localmente l'opzione migliore per un ottimo globale. Esempi:
Problema del Resto: Semplice scelta greedy.
Codifica di Huffman: Crea codici a lunghezza variabile per caratteri, minimizzando la lunghezza totale.
Algoritmi sui Grafi:
Alberi di Copertura Minima (MST):
Kruskal: Aggiunge archi in ordine di peso crescente se non formano cicli (usa Merge-Find). Complessità O(m log n).
Prim: Cresce l'MST da un nodo iniziale aggiungendo l'arco di peso minimo. Complessità O(m log n).
Percorsi Minimi:
Bellman-Ford: Percorsi minimi da sorgente singola, gestisce pesi negativi (non cicli negativi). O(nm).
Dijkstra: Percorsi minimi da sorgente singola con pesi non negativi. O((n+m) log n).
Floyd-Warshall: Tutti i percorsi minimi, gestisce pesi negativi e rileva cicli. O(n^3).
Siamo nati da poco ma abbiamo già migliaia di appunti nella nostra community!
Completa il tuo profilo
Adesso sei dei nostri!
Ottieni i primi crediti!
Carica i tuoi file
Il modo più veloce per guadagnare crediti è caricare materiale.
Ci sono tante tipologie di materiale e siamo certi che hai tanto valore da condividere con la community!
Accidenti, ancora non abbiamo il tuo corso di laurea!
Se ti va puoi inserirlo tu in pochi click — anche solo il corso di laurea, oppure completo di tutti i corsi!
Aggiungilo subito
e faremo del nostro meglio per popolarlo di materiale interessante.
Nel frattempo inizia a guadagnare crediti invitando i tuoi amici, così appena saremo attivi potrai subito accedere al materiale disponibile.
Bastano 3 amici verificati per attivare l'abbonamento…
Consiglia ai tuoi amici
Scrivi ai tuoi vecchi amici o ai tuoi nuovi colleghi di studio. Ogni email che inserisci rappresenta un mattone importante per la community.
Per ogni amico che porti otterrai nuovi crediti!