Академический Документы
Профессиональный Документы
Культура Документы
Ello B. Guedes
elloa.ifpb@gmail.com http://sites.google.com/site/elloaguedes
Exerccios
Projete um algoritmo que soma dois nmeros de forma recursiva
int soma(int a, int b)
Caso base 1 + 1 = 2
Ello B. Guedes
Exerccios
Calcular o mximo divisor comum de x e y recursivamente
Ello B. Guedes
Exerccios
Somatrio dos elementos de 1 at n
Ello B. Guedes
Exerccios
Faa uma funo recursiva que calcule o valor da srie S descrita a seguir para um valor n>0 a ser fornecido como parmetro para a
S = 1 + 1/1! + 1/2! + 1/3! + 1 /n!
Ello B. Guedes
Demonstrao
Fractal Curves
Ello B. Guedes
Ello B. Guedes
Ello B. Guedes
Ello B. Guedes
Tamanho da Fila
int tamanhoFila(TFila p){ if (filaVazia(p) == xtrue) return 0; int contador = 0; while (p != NULL){ contador++; p = p->prox; } return contador; }
Ello B. Guedes
Tamanho da Fila
Observar este trecho com ateno
while (p != NULL){ contador++; p = p->prox; }
Se o prximo no NULL
Incrementa contador Repete o processo para o prximo elemento Idia para implementar uma soluo recursiva!
Ello B. Guedes
Ello B. Guedes
Ello B. Guedes
Enfileira
Enquanto o atual->prox for diferente de NULL
Caminha para o atual->prox->prox Repete o procedimento Possibilidade de soluo recursiva
Ello B. Guedes
Enfileira Recursivo
void enfileiraRecursivo(nodo* no, nodo* novo){ if (no == NULL) no = novo; else if (no->prox == NULL) { no->prox = novo; } else { enfileiraRecursivo(no->prox,novo); } }
Ello B. Guedes
Ello B. Guedes
Ello B. Guedes
Ello B. Guedes
Pilha Encadeada
Apontador para o topo da pilha
Empilha Desempilha Tamanho da pilha Impresso da pilha
Ello B. Guedes
Pilha Encadeada
/* Definicao dos nodos da pilha */
typedef struct stnop { int dado; struct stnop *prox; } nopilha; typedef nopilha* TPilha;
Ello B. Guedes
Imprimir Pilha
Imprime topo
Segue para topo->prox Repete o procedimento Lgica para uma implementao recursiva
Ello B. Guedes
Ello B. Guedes
Ello B. Guedes
Ello B. Guedes