Riassunti VERIFICATO

Riassunto di tutto il corso

Università degli Studi di Torino informatica 2020
17 visualizzazioni
29 download
Nessun voto ancora
Condividi: WhatsApp Telegram
Anteprima pagina 1 — Riassunto di tutto il corso Anteprima pagina 2 — Riassunto di tutto il corso Anteprima pagina 3 — Riassunto di tutto il corso

Di cosa parla

  • Ricerca Binaria (BinSearch-Ric): Implementazione ricorsiva per la ricerca efficiente di un elemento in un array ordinato.
  • Array Statici: Operazioni base di inserimento (ARRAY_INSERT), cancellazione (ARRAY_DELETE) e ricerca (ARRAYSEARCH) in array a dimensione fissa.
  • Array Dinamici: Gestione di array con dimensione variabile, includendo inserimento (DYN_ARRAY_INSERT), cancellazione (DYN_ARRAY_DELETE) e espansione (ARRAY_EXTEND) con logiche di riallocazione.
  • Liste: Algoritmi per la ricerca (LIST_SEARCH, LIST_SEARCH_SEN con sentinella), inserimento (LIST_INSERT, LIST_INSERT_SEN in testa) e cancellazione (LIST_DELETE, LIST_DELETE_SEN) in liste collegate, con e senza sentinelle.
  • Tavole Hash (Indirizzamento Diretto): Operazioni di inserimento (TABLEINSERT), cancellazione (TABLEDELETE) e ricerca (TABLESEARCH) dirette.
  • Tavole Hash (con liste/chaining): Inserimento (HASHINSERT), ricerca (HASHSEARCH) e cancellazione (HASHDELETE) tramite liste di appoggio per la gestione delle collisioni.
  • Tavole Hash (Indirizzamento Aperto): Inserimento (HASHINSERT) e ricerca (HASHSEARCH) utilizzando una funzione hash con probing per risolvere le collisioni.
  • Code (Implementazione con Array): Funzioni per determinare la dimensione (Size), verificare se vuota (Empty), calcolare la cella successiva (NextCell), inserire (Enqueue) ed estrarre (Dequeue) elementi.
  • Code (Implementazione con Lista): Funzioni simili a quelle su array, ma basate su liste per l'inserimento (Enqueue), dimensione (Size), verifica di vuoto (Empty), accesso al fronte (Front) ed estrazione (Dequeue).
  • Alberi (Binari K-ari): Calcolo della cardinalità (CARDINALITY_BINARY, CARDINALITY_K) e altezza (HEIGHT_BINARY, HEIGHT_K) degli alberi, oltre a una visita per livelli (VISITA_TREE).
  • Alberi Binari di Ricerca (BST): Stampa in ordine (Stampa_inOrdine), ricerca ricorsiva (SearchRecursive) e iterativa (SearchIterative), ricerca del massimo (TrovaMassimo), successore (TrovaSuccessore), inserimento (Inserimento_BRT) e cancellazione (1_Cancellazione per un figlio, 2_Cancellazione per due figli).
  • Alberi Rosso-Neri: Rotazione a sinistra (LEFT-ROTATE) e procedure di fix-up (RB-INSERT-FIXUP, RB-DELETE-FIXUP) per mantenere l'equilibrio dopo inserimenti e cancellazioni.
  • Heap: Funzioni per navigare lo heap (PARENT, LEFT, RIGHT), inserimento (HEAP_INSERT), mantenimento della proprietà di heap (HEAPIFY), estrazione del massimo (HEAP-EXTRACT), costruzione (BUILD_HEAP) e ordinamento (HEAP-SORT).
  • Algoritmi sui Grafi: Visita generica (VISITA_GENERICA), visita in profondità (DFS con INIT, VisitAll, Visit), e calcolo delle Componenti Fortemente Connesse (CFC).
  • Algoritmo di Kruskal (MST-Kruskal): Per trovare un Minimum Spanning Tree usando insiemi disgiunti.
  • Algoritmo di Prim (Primm): Per trovare un Minimum Spanning Tree usando una coda a priorità.
  • Algoritmo di Dijkstra: Per trovare i cammini minimi da una sorgente singola in grafi con pesi non negativi.

Altri appunti di ALGORITMI E STRUTTURE DATI

Condividi questi appunti

WhatsApp Telegram