Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Recursividade: Conceito, Funções e Exemplos, Notas de aula de Informática

Aprenda sobre a recursividade, um conceito importante em algoritmos e estruturas de dados. Saiba como uma função pode chamar a si mesma e como isso é utilizado para resolver problemas recursivos. Veja exemplos de funções recursivas como fibonacci, fatorial e exponenciação.

Tipologia: Notas de aula

Antes de 2010

Compartilhado em 23/02/2010

ygor-dos-santos-luz-3
ygor-dos-santos-luz-3 🇧🇷

4.7

(3)

55 documentos

1 / 7

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
Algoritmos e Estruturas de Dados
Prof. Patrick Pedreira
Recursividade
Recursividade
Recursividade
Recursividade
Conceituação
Um módulo pode ser ativado a partir de
qualquer módulo
Quando um módulo faz chamada a si mesmo
dizemos que fez uma chamada recursiva
Para entendermos recursão veremos a
definição de funções/equações de recorrência
Função de recorrência é uma função expressa
em função de si mesma, ou seja, a resolução
da função implica uma resolução anterior da
função para outro valor
Recursividade
Recursividade
Vejamos um exemplo de uma função
simples (F) e de uma função recorrente
(R):
F(x) = 10 * x + 2
R(x) = 10 * R(x-1) + 2 para x >1, e R(x)=1
para x=1
Vejamos a resolução para os valores 1, 2, 3 e
4.
Recursividade
Recursividade
F(1)=10*1+2=12
F(2)=10*2+2=22
F(3)=10*3+2=32
F(4)=10*4+2=42
R(1)=1 por definição, ou base
R(2)=10*R(1)+2=10*1+2=12
R(3)=10*R(2)+2=10*12+2=122
R(4)=10*R(3)+2=10*122+2=1222
A resolução da função recorrente R para valores
maiores que 1 só é possível após a resolução da
função anterior.
Please purchase 'e-PDF Converter and Creator' on http://www.e-pdfconverter.com to remove this message.
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Recursividade: Conceito, Funções e Exemplos e outras Notas de aula em PDF para Informática, somente na Docsity!

Algoritmos e Estruturas de Dados

Prof. Patrick Pedreira

Recursividade

Recursividade

Recursividade

Recursividade

Conceituação

 Um módulo pode ser ativado a partir de

qualquer módulo

 Quando um módulo faz chamada a si mesmo

dizemos que fez uma chamada recursiva

 Para entendermos recursão veremos a

definição de funções/equações de recorrência

 Função de recorrência é uma função expressa

em função de si mesma, ou seja, a resolução

da função implica uma resolução anterior da

função para outro valor

Recursividade

Recursividade

Vejamos um exemplo de uma função

simples (F) e de uma função recorrente

(R):

 F(x) = 10 * x + 2

 R(x) = 10 * R(x-1) + 2 para x >1, e R(x)=

para x=

 Vejamos a resolução para os valores 1, 2, 3 e

Recursividade

Recursividade

 F(1)=10*1+2=

 F(2)=10*2+2=

 F(3)=10*3+2=

 F(4)=10*4+2=

 R(1)=1  por definição, ou base

 R(2)=10R(1)+2=101+2=

 R(3)=10R(2)+2=1012+2=

 R(4)=10R(3)+2=10122+2=

A resolução da função recorrente R para valores

maiores que 1 só é possível após a resolução da

função anterior.

Recursividade

Vejamos a resolução de R(4) se antes não

tivéssemos resolvido as equações anteriores

 R(4)=10*R(3)+

 =10(10R(2)+2)+

 =10(10(10*R(1)+2)+2)+

 =10(10(10*1+2)+2)+2 R(1)=

 =10(10(12)+2)+2 R(2)=

 =10*(122)+2 R(3)=

 =1222 R(4)=

Recursividade

Alguns exemplos de funções recursivas

 Fibonacci

 fib(n) = fib(n-1) + fib(n-2) para n>1;

 fib(0) = 0 e fib(1) = 1 (base)

 Fatorial

 n! = n * (n-1)! para n>0;

 0! = 1 (base)

 Mesmo operações que à primeira vista não

parecem ser recursivas, muitas vezes podem

ser expressas como funções recursivas.

Recursividade

Recursividade

Exponenciação (expressa por

multiplicações)

 x

n

= x * x

n-

para n>0;

 x

=1 (base)

Multiplicação (expressa por adições)

 xy=x+x(y-1) para n>

 x*0=0 (base)

Recursividade

Recursividade

Recursividade expressa por módulos

 Do ponto de vista algorítmico, recursividade nada

mais é do que a ativação de um módulo por si

mesmo.

 O módulo ativador e o ativado são os mesmos

 Temos que entender que, apesar de ser o mesmo

código que está sendo ativado, não é o mesmo

módulo em execução, e sim uma réplica dele.

 Cada módulo tem seu próprio espaço de memória,

sua própria pilha e assim por diante.

 No inicio/final de um módulo recursivo, assim como

em qualquer módulo, suas variáveis são

empilhadas/desempilhadas

Recursividade

Recursividade

Recursividade

Recursividade

Recursividade

Recursividade

Recursividade

Recursividade

Recursividade

Recursividade

Recursividade

Recursividade

Recursividade

  ProblemaProblema – – multiplicar por meio de adimultiplicar por meio de adiçção utilizando mão utilizando móódulosdulos

 xy=x+x(y-1) para n>

 x*0=0 (base)

Recursividade