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 Básico e Aplicação em Ciência da Computação, Notas de estudo de Engenharia Informática

Recursividade é um conceito fundamental na ciência da computação, onde um programa ou função chama a si mesma. Essa auto-chamada é armazenada na pilha de execução, criando um registro de ativação para cada chamada. Recursividade é utilizada em diversas implementações, como cálculo de fatorial e série de fibonacci, porém consuma mais memória do que implementações não recursivas. Neste documento, aprenderemos o que é recursividade, suas definições, aplicativos e comparações.

Tipologia: Notas de estudo

2012

Compartilhado em 25/11/2012

wellington-cassio-faria-8
wellington-cassio-faria-8 🇧🇷

4.5

(37)

129 documentos

1 / 12

Toggle sidebar

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

Não perca as partes importantes!

bg1
Recursividade
pf3
pf4
pf5
pf8
pf9
pfa

Pré-visualização parcial do texto

Baixe Recursividade: Conceito Básico e Aplicação em Ciência da Computação e outras Notas de estudo em PDF para Engenharia Informática, somente na Docsity!

  • Fundamental em Ciência da Computação
    • Um programa recursivo é um programa que chama a si mesmo
    • Uma função recursiva é definida em termos dela mesma
  • Para cada chamada de uma função, recursiva ou não, os parâmetros e as variáveis locais são empilhados na pilha de execução.
  • Vale lembra que o emprego de recursividade nem sempre é uma boa solução, pois consome muita memória com essas auto-chamadas da função.
  • Diversas implementações ficam muito mais fáceis com a recursividade. Porém implementações não recursivas tendem a ser mais eficientes.

Aplicações:

  • Um computador armazena arquivos relacionados em um diretório;
  • Um diretório pode estar vazio, conter arquivos e/ou conter outros diretórios (subdiretórios);
  • Cada um desses subdiretórios por sua vez, podem possuir arquivos e também diretórios;

Fat (int n) { if (n<=0) return 1; else return n * Fat(n-1); } Main() { int f; f = fat(5); printf(“%d”,f); }

Série de fibonacci

  • 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89... Fib(int n) { if (n<2) return 1; else return Fib(n-1) + Fib(n-2); }
  • Fibonacci não recursivo int FibIter(int n) { int i, k, F; i = 1; F = 0; for (k = 1; k <= n; k++) { F += i; i = F - i; } return F; }