Estratto del documento

Titolo del testo

Pt ricorsiva chiamato costo speso all'interno della funzione di iterazione Metodo "" dipendente si la sola ricorsione dalla srotola ottenendo sommatoria una dimensione n{ 011 ) ose n = T ( )n = - 011 /) 1Se T ( 2) 7nn+ ?' = DT 3-= /) T(1) 8)( 1-( ((1) ) +/Tengiz I0 Tiny 011) (1)01) = D 20 + 0011= O( 1-(1)+ nn+ +=n = =+ .1) 80 (T 14+ )( /n 011 (tt)) nCaga"Li Caga log0TI(0( )= 1) (/) ))t (1)(1)2 == O (1) 0( =t n O1 (O(1) n)=)(' + +n+. . n. .. ziifermoMie 1 loga/ 2=quando =Dn )2 (n=D = nEsempio 2 :{ (1- 2) 1+ >/n nsen1- ( ) =n 1 1se n = /' ° 22) T 23/ 21MI 4T ( ( T( 8)T () T14/2 (MIh /n = 22n 2) n n +n /n1n/+ nn n+ )-1= n= ++ + + ==+K '- py 1 "fermoMi CagaTI 2=DI= 1 n=D quando+ ( )= K=D= = nèi o= ⇐zloda )( 1n - *=D = + 1- (1)i o= ' @92" i" 'Cobain 'n) 1 )- 1n a (( 112 )1- ydi -ISapendo- TI+= 1)che = * n=D = 1n +i Oi. .o = =.gµ ( y , ,µ z, _@92 ( )n( ,)( 11212h 1-- % 1%( ( ( 0= 1 ) 11 1 1)2K2h 1 2h (=2h

Metodo sostituzione della Ricerca Lineare Ricorsiva:

Dato l'input di un elemento da ricercare in un vettore, si vuole scrivere una funzione ricorsiva che torna la posizione interna dell'elemento nel vettore, se presente. Si considera una ricorsione di tipo lineare, dove ad ogni chiamata si considera un vettore di dimensione più piccola.

La funzione di ricerca lineare ricorsiva si scrive come:

RicRicercaLineare(V, POS, n)
    if POS < 0 or POS >= n
        return -1; // elemento non trovato nel vettore
    if V[POS] == elemento
        return POS; // elemento trovato alla posizione POS
    return RicRicercaLineare(V, POS + 1, n); // chiamata ricorsiva con vettore di dimensione più piccola

L'equazione di ricorrenza per l'algoritmo di ricerca lineare ricorsiva è:

T(n) = T(n-1) + 1, se n > 1
T(1) = 1

Si può intuire la soluzione del metodo utilizzando la sostituzione e l'induzione matematica per dimostrare che la soluzione è effettivamente quella.

Riscrivo la notazione:

asintoticaTcn senza usare) :{ al ese n =1- ( )n = *Tin nc se1) 1+ >- TcnDobbiamo tnTcndimostrare che- ovvero )) che E0in Kn)= ,=D tkzal1 al1- (1)base E- fncaso =D vero= =DK k: .,Passo (' Ipotesiinduttivo induttivo veroe) ETin: K 1)in -1-.Devo=D tidimostrare )che En K (n )' Per fTcn kTln ()* E1) C ( -1Ckn C) iKn=1) =DKnc= = C KZC70K Kn + K+ - -- -- -TÈ , 01Tcn=D KZ0 K Z) C( ) sen e=Esempio 2 :{ Tln / 1n) >2n +Tch ) = 1 1n =Ipotizzo Tlh ETch0 (che- ) =p ) cn)n= TÌI tczE1 CE)1) Caso base n 1C1 =D: =Passo Ipotizzo tsiainduttivo 'che E n''vero Tcnche Cn2) <: ) nDimostro il tchgenerico=D cn)caso E §Ez(( E1- ( TC E ( Cna) CMI 1/ =D En 12)2)n + )nn= + -1n =+nè FCE=D EC 72=D CI2 C 2C 2=D+Teorema master risolvereviene utilizzato ricorrenza ricorsivialgoritmidiequazioni dimetodo percomebasati dividetecnica et imperasulla ore :dividi- dimensionedividere problemiil diproblema in diascolto dimensioneper: n/ b( )D 1n > i- risolvi

ricorsivamente risolvi sottoproblema:

i ricambini ricambino le soluzioni:

1) se n > 1:

  • ricorsivamente inclusi il sottoproblema con n-1 e il sottoproblema con n/2
  • le chiamate della funzione escluse per costo

2) se n = 1:

  • soluzioni = 1

3) se n = 0:

  • soluzioni = 0

Vogliamo la regolarità C-3:

1) se n > 0:

  • la ricombinazione delle soluzioni deve essere inclusa nel tempo di esecuzione della funzione
  • le chiamate della funzione devono essere escluse per costo

2) se n = 0:

  • la ricombinazione delle soluzioni deve essere inclusa nel tempo di esecuzione della funzione

Esempio (1 caso 2):

T(1) = 1

T(n) = T(n-1) + T(n/2)

Esempio (3 caso 2):

T(n) = 3*T(n-1) + 9

generica C-3:

T(n) = b*T(n-1) + f(n)

dove b = 3 e f(n) = 9

Verifico la regolarità C-3:

1) T(0) = 1

2) T(n) = b*T(n-1) + f(n)

3) T(n) >= 0 per ogni n >= 0

Ec/Q) f 93 (/( c. =D cc ( =D 34 )=n n) nn .0 (Tin fin )- ) (= n)=)Esempio (3 1)caso1- /9 Tln 3))( =n + n. / fb)(= at n + ( )n' finb =39 )ai n; ; = @ E)93° n2)E)lodo E(b-f 0 ' --Caso ( ( 11 0 =D)= )E (- : n =D=( ☐= n) ☐-nn =Casba n2( ()1- ))( =n = n datiStruttureè puòinsieme il variabilevalorevaloredato appartenente cheun = unaun a unassumere è insiemetipo di costituito aiastratto ) valori( operatorialato unun cheeda suhannoquei valori senso è memorizzaticollezionedatistruttura cosidatidi neluna come sonounainsieme diprogrammiaicalcolatore loro agisconoche su,è tiporealizzazioneparticolare tipodi> addato astrattouna di dima un,corrispondere diverserealizzazionidato astratto possonoSEQUENZAdatodiTipo è" " elementiinsieme di posizionedacaratterizzatisequenza posiuno un una :.5 Sn= 52Se , ... ., l'Esistono> la fineinizio dellainoltre posizioni chespecialiove marcanoposo eposne +, , ,sequenzaÈ lineare

Ordinata rappresenta la struttura di dati che valorizza una sequenza unica. L'ordine in cui i valori compaiono è più importante, volte dove un valore può comparire all'interno della sequenza. I metodi per le sequenze sono:

  • isEmpty(): restituisce true se la sequenza è vuota, false altrimenti.
  • pos(): restituisce la posizione dell'elemento corrente.
  • next(): restituisce la posizione dell'elemento successivo.
  • prev(): restituisce la posizione dell'elemento precedente.
  • insert(item, pos): inserisce l'elemento item nella posizione pos.
  • remove(pos): rimuove l'elemento contenuto nella posizione pos.
  • read(pos): legge l'elemento di tipo item nella posizione pos.
  • write(item, pos): scrive l'elemento di tipo item nella posizione pos.
Anteprima
Vedrai una selezione di 9 pagine su 38
Il contenuto si trova sul sito dell’università.
Appunti Ingegneria degli algoritmi Pag. 1 Appunti Ingegneria degli algoritmi Pag. 2
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti Ingegneria degli algoritmi Pag. 6
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti Ingegneria degli algoritmi Pag. 11
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti Ingegneria degli algoritmi Pag. 16
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti Ingegneria degli algoritmi Pag. 21
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti Ingegneria degli algoritmi Pag. 26
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti Ingegneria degli algoritmi Pag. 31
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Appunti Ingegneria degli algoritmi Pag. 36
1 su 38
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Valeria-Villano di informazioni apprese con la frequenza delle lezioni di Ingegneria degli algoritmi 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à degli Studi di Roma Tor Vergata o del prof Filippone Salvatore.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community