Anteprima
Vedrai una selezione di 4 pagine su 11
Appunti completi Algoritmi e Strutture dati Pag. 1 Appunti completi Algoritmi e Strutture dati Pag. 2
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Appunti completi Algoritmi e Strutture dati Pag. 6
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Appunti completi Algoritmi e Strutture dati Pag. 11
1 su 11
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Algoritmi e Strutture dati : complessità computazionale

Ricerca Lineare:

Tb(n) = Θ(1)

Tw(n) = Θ(n)

To(n) = Θ(n)

Ricerca dicotomica:

Tb(n) = Θ(1)

Tw(n) = Θ(log n)

To(n) = Θ(log n)

Ricerca Min/Max:

Tn(n) = Θ(n)

Selection sort:

Tb(n) = Θ(n2)

Tw(n) = Θ(n2)

To(n) = Θ(n2)

Insertion sort:

Tb(n) = Θ(n)

Tw(n) = Θ(n2)

To(n) = Θ(n2)

Bubble sort:

Tb(n) = Θ(n)

Tw(n) = Θ(n2)

To(n) = Θ(n2)

Merge:

Tm(n) = Θ(m + n)

Tw(n) = Θ(n)

To(n) = Θ(n)

Merge sort:

Tm(n) = Θ(n log n)

Tw(n) = Θ(n log n)

To(n) = Θ(n log n)

Parthion:

Tm(n) = Θ(n)

Ampuli sort:

Tb(n) = Θ(n log n)

Tw(n) = Θ(n2)

To(n) = Θ(n log n)

Ridimensionamento con espansione lineare:

Tm(n) = Θ(n)

Ridimensionamento con espansione geometrica:

Tam(n) = Θ(n)

Visita di una lista:

Tb(n) = Θ(n)

Tw(n) = Θ(n)

To(n) = Θ(n)

Inserimento in coda:

Tb(n) = Θ(1)

Tw(n) = Θ(n)

To(n) = Θ(n)

Ricerca di un elemento in una lista:

Tb(n) = Θ(1)

Tw(n) = Θ(n)

To(n) = Θ(n)

Cancellazione di un elemento:

Tb(n) = Θ(1)

Tw(n) = Θ(n)

To(n) = Θ(n)

Visita di un BST:

Tb(n) = Θ(n)

Tw(n) = Θ(n)

To(n) = Θ(n)

Cancellazione di un elemento in BST:

?

?

?

Ricerca di un elemento in BST:

Tb(n) = Θ(1)

Tw(n) = Θ(log n)

To(n) = Θ(log n)

Visita di una HT:

Tb(n) = Θ(n)

Tw(n) = Θ(n)

To(n) = Θ(n)

Inserimento di un elemento:

Tb(n) = Θ(log n)

Tw(n) = Θ(log n)

To(n) = Θ(log n)

Ricerca di un elemento in una HT:

Tb(n) = Θ(1)

Tw(n) = Θ(n)

To(n) = Θ(1)

Cancellazione di un elemento in HT:

Tb(n) = Θ(1)

Tw(n) = Θ(n)

To(n) = Θ(1)

Algoritmi e strutture dati: riassunto generale

Ricorsione:

Diretta, la procedura richiama se stessa

Indiretta, la procedura viene richiamata attraverso la chiamata di un'altra procedura

Dimostrazione matematica:

Se P è una proposizione, s'applicano due:

  • 1. P(k) è vera per k = 1. (base)
  • 2. È vera per un generico valore n. (ipotesi)
  • Se a partire da P(n) riusciamo a dimostrare che anche P(n+1) è vera allora P(k) è vera per ogni k.

Divide et Impera:

Affidata a una radice nel principio di induzione matematica.

Metodo:

  1. Divide, suddividere un problema P su sottoproblemi fino a quando il sottoproblema è risolvibile facilmente;
  2. Impera, si risolve per ipotesi di aver risolto alcuni sottoproblemi;
  3. Combina, si combinano i risultati delle sottosoluzioni per ottenere la soluzione complessiva.

Classificazione degli algoritmi ricorsivi:

Lineare, una sola chiamata a se stesso.

Binaria, la documenta ricorsione si cita più della funzione (esegue esse ultima istruzione).

Multipla, piú chiamate a se stesso.

Mutua, una prima funzione richiama una seconda che a sua volta richiama la prima.

Innestate, l'uso come argomento una chiamata a se stesso.

Svantaggi:

  • I cicli certi la ricorsione infiniti errano sempre.
  • Efficienza di una procedura iterativa.
  • Le chiamate ricorsive possono raggiungere lo stack frame.
  • Lo spazio di stack frame è numero di quoto da heap.
  • Spreco di memoria per la memorizzazione di tutte le variabili locali.

Complessa complicatezza:

Notazione asintotica:

Limite auditorio superiore...

Limite auditorio inferiore...

  • O(g(n)).
  • O(g(n)).
  • f(n) { ∃ o, c1 m}. c2. 0 n0.
  • 0(m ⊆ g(n). n1 ⊆ gn.
  • Limite auditorio ratio Θ(g(n)). Θ(g(n)). f(n) ff (c). m). n1. c2. g gn(n) c. gg r g-m. gn(n) cc m gg l m.
  • ∀n>n0.

in n+c di ridurre una capacita n Δmax.

in n+c Δmax di ridurre una nuova capacita n Δnuovo.

altrimenti l'array non viene ribaltato.

NOTA: Δnuovo > Δmax

2. L'esecuzione garantita: perdita della capacita supplementare ma preparazioni della lunghezza richiesta:

in n+c di ridurre una capacita n Pmax.

in n+c di ridurre una nuova capacita n Pnuovo.

altrimenti l'array non viene ribaltato.

NOTA: Pnuovo > Pmax

Sia l'operazione limitata da quella guarentita durante cambio capacita spanazione O(n). In questo modo l'operazione non

frequenti di operazione limitata per n ribaltamenti capacita completa O(n2), somma quella operativa O(n).

3. Pila: una collezione di elementi che retrigua e memoriza di nuovo ad una logica LIFO, "last in, first out".

Vantaggi: non è necessario ridurare l'elemento di quale si vuole accedere. Se un utente inserita un intera lista

per errore si programma accede ai dati in ordine inverso.

Operazioni principali:

  • inserisci, eliminazione, push e subsinazione, pop e accumulazione, top e sostituzione cima, controllo pila vuota, caricato
  • lista pieno.

3. Coda: una collezione di elementi che retrigue le memoriza di nuovo ad ordine FIFO, "first in, first out".

Vantaggi: non è necessario eliminare l'elemento di nuovo acceduto per il predilaguazione dei dati.

sviluppa un operas elementi dopo il sulto fruppie la una, per nuovo azzabatura in elementi succedenti.

Operazioni principali:

  • inserisci, eliminazione, add o accumulazione, remove o primesi, front e accumulazione del primo elemento, controllo coda
  • vuota, sostitua coda piena.

4. Lista: è una struttura dati per rappresentare successioni di dati, adotta una schemma di rappresentazione ai cui sono

elementi costituzionatamente l’informazione utile (il nodo), l’elementazione strutturale che serve a

collegamento l'intera collezione.

1. Catenattro: soluzione instarata nei strutture della nodi, ogni nodo continui l'info e il link al nodo

succwente, per primo nodo e della lista e nell'offizio della nodo al ultimo nodo e link successivo all'info alla nodo

2. Circolare: ogni nodo ha a collegamento col nodo successe e ultimo nodo ha a collegamento alla fra della

lista.

3. Doppia: ogni nodo contenere a collegamento al nodo successe e a quello precedente.

4. Circolare doppia: ogni nodo ha a collegamento al nodo successivo e al nodo precedente. L'ultimo nodo ha

il collegamento alla testa della lista e il primo nodo ha il collegamento alla coda.

5. Ordinamento di una lista:

  1. Lista: relazione esistante fra la posizione dei nodi nella lista.
  2. Logia: relazione instratita fra il stilo dei nodi.
Dettagli
Publisher
A.A. 2019-2020
11 pagine
SSD Scienze matematiche e informatiche MAT/05 Analisi matematica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher gaya098 di informazioni apprese con la frequenza delle lezioni di Algoritmi e strutture dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università Politecnica delle Marche - Ancona o del prof Ribighini Giuseppa.