Projeto e Aálse de Algortmos Recorrêcas Prof. Humberto Bradão humberto@dcc.ufmg.br Uversdade Federal de Alfeas Laboratóro de Pesqusa e Desevolvmeto LP&D Isttuto de Cêcas Exatas ICEx versão da aula: 0.
Últmas aulas... Notações O Ω Θ ω ο
Curosdade... supodo que uma operação gasta em méda 0-6 segudos...
Curosdade...
Curosdade...
Curosdade...
Curosdade...
Curosdade...
Recorrêca Quado um algortmo cotém uma chamadas recursvas, seu tempo de execução pode freqüetemete ser descrto por uma recorrêca;
Recorrêca Quado um algortmo cotém uma chamadas recursvas, seu tempo de execução pode freqüetemete ser descrto por uma recorrêca; Com o ferrametal apreddo até o mometo, ão somos capazes de aalsar a complexdade de algortmos recursvos;
Recorrêca Quado um algortmo cotém uma chamadas recursvas, seu tempo de execução pode freqüetemete ser descrto por uma recorrêca; Com o ferrametal apreddo até o mometo, ão somos capazes de aalsar a complexdade de algortmos recursvos; Para os algortmos recursvos, a ferrameta prcpal desta aálse ão é uma somatóra, mas um tpo especal de equação chamada relação de recorrêca.
Recorrêca Quado um algortmo cotém uma chamadas recursvas, seu tempo de execução pode freqüetemete ser descrto por uma recorrêca; Com o ferrametal apreddo até o mometo, ão somos capazes de aalsar a complexdade de algortmos recursvos; Para os algortmos recursvos, a ferrameta prcpal desta aálse ão é uma somatóra, mas um tpo especal de equação chamada relação de recorrêca. Uma recorrêca é uma equação ou desgualdade que descreve uma fução em termos de seu valor em etradas meores;
Recorrêca Para cada procedmeto recursvo é assocada uma fução de complexdade descohecda, ode mede o tamaho dos argumetos para o procedmeto. Equação de recorrêca: maera de defr uma fução por uma expressão evolvedo a mesma fução.
Recorrêca Vamos cosderar o algortmo de ordeação por Iserção.
Recorrêca Cosderado o por caso: Na prmera vez, apeas uma operação é ecessára... Da seguda,... Da tercera,... E sso é executado... N vezes... Ou seja, todos os elemetos serão serdos a últma posção verfcada;
Recorrêca Cosderado o por caso: Na prmera vez, apeas uma operação é ecessára... Da seguda,... Da tercera,... E sso é executado... N vezes... 4 4...
Recorrêca O caso ateror ao caso base é a ordeação de um vetor de duas posções, ode é efetuada apeas uma comparação. Etão...... 4
Recorrêca O caso ateror ao caso base é a ordeação de um vetor de duas posções, ode é efetuada apeas uma comparação. Etão...... 4
Recorrêca O caso ateror ao caso base é a ordeação de um vetor de duas posções, ode é efetuada apeas uma comparação. Etão...... 4
Recorrêca O caso ateror ao caso base é a ordeação de um vetor de duas posções, ode é efetuada apeas uma comparação. Etão...... 4
Recorrêca Outro exemplo de recorrêca: Cosdere o algortmo pouco formal abaxo: O algortmo specoa elemetos de um cojuto qualquer; De alguma forma, sso permte descartar dos elemetos e fazer uma chamada recursva sobre um terço do cojuto orgal. Algortmo Pesqusavetor f vetor. sze the specoe elemeto; else specoe cada elemeto recebdo vetor; Pesqusavetor. sublsta, vetor. sze ; ed f ed.
Recorrêca Motado a equação de recorrêca: L: L : L : L4 : L5 : L6 : L7 : L8 : Algortmo Pesqusavetor Pesqusa f vetor. sze. sze the the specoe elemeto ; else specoe cada elemetosrecebdo de ; vetor; Pesqusa vetor ;. sublsta, vetor. sze ; ed f f ed. Caso base da recursão: O custo da lha é θ; O custo da lha é θ;
Recorrêca Motado a equação de recorrêca: Θ Θ L: L : L : L4 : L5 : L6 : L7 : L8 : Algortmo Pesqusavetor Pesqusa f vetor. sze. sze the the specoe elemeto ; else specoe cada elemetosrecebdo de ; vetor; Pesqusa vetor ;. sublsta, vetor. sze ; ed f f ed. Caso geral da recursão: O custo da lha 5 é θ; A lha 6 é ode a própra fução Pesqusa é chamada em um cojuto reduzdo.
Recorrêca Motado a equação de recorrêca: Θ Θ Θ Chamada recursva L: L : L : L4 : L5 : L6 : L7 : L8 : Algortmo Pesqusavetor Pesqusa f vetor. sze. sze the the specoe elemeto ; else specoe cada elemetosrecebdo de ; vetor; Pesqusa vetor ;. sublsta, vetor. sze ; ed f f ed. Mote a equação de recorrêca...
Recorrêca, se, caso cotráro Θ Θ Θ Chamada recursva L: L : L : L4 : L5 : L6 : L7 : L8 : Algortmo Pesqusavetor Pesqusa f vetor. sze. sze the the specoe elemeto ; else specoe cada elemetosrecebdo de ; vetor; Pesqusa vetor ;. sublsta, vetor. sze ; ed f f ed. Resolva a equação de recorrêca...
Recorrêca caso cotráro se,,............
Recorrêca caso cotráro se,,..................
Recorrêca, se, caso cotráro...... A formula represeta a soma de uma sére geométrca de razão, multplcada por, e adcoada de, que é meor ou gual a. 0
Recorrêca caso cotráro se,,...... portato : 0 0 x x usado k k
Recursvdade Com as arquteturas atuas, devemos evtar o uso de recursvdade quado a solução teratva é óbva; Exemplos: Fatoral; Fboacc; Lembrem-se do crescmeto da plha de execução os algortmos recursvos; Plha FFFF Lacua Dados dâmcos Dados estátcos Espaço de edereçameto exto Reservado 0000
Exercíco Faça a aálse de recorrêca do algortmo que calcula o fatoral de um úmero L: L : L : L4 : L5 : L6 : L7 : Algortmo Fatoral f the retore ; else retore fatoral ed f ed.
Exercíco Implemete os algortmos de fatoral e fboacc as versões: Iteratva; Recursva. Apresete suas curvas de crescmeto em fução do tamaho do problema aálse expermetal. Faça uma aálse sobre os resultados.
Letura para a próxma aula CORMEN,. H.; LEISERSON, C. E.; RIVES, R. L.; 00. Algortmos eora e Prátca. radução da ª edção amercaa. Ro de Jaero. Edtora Campus. Seção 4. O método mestre teorema mestre
Bblografa CORMEN,. H.; LEISERSON, C. E.; RIVES, R. L.; 00. Algortmos eora e Prátca. radução da ª edção amercaa. Ro de Jaero. Edtora Campus. AMASSIA, ROBERO; GOODRICH, MICHAEL. 004. Projeto de Algortmos - Fudametos, Aálse e Exemplos da Iteret. ZIVIANI, N. 007. Projeto e Algortmos com mplemetações em Java e C++. São Paulo. Edtora homso;