2007.2 UERN Nova Cruz ED
Professor: Aquiles Burlamaqui
email: moc.liamg|iuqamalrubseliuqa#moc.liamg|iuqamalrubseliuqa
|
Table of Contents
|
Resultados das Avaliações
Links
- http://equipe.nce.ufrj.br/adriano/c/apostila/indice.htm
- http://www.ime.usp.br/~pf/algoritmos/idx.html
- http://webpages.ull.es/users/jriera/Docencia/AVL/AVL%20tree%20applet.htm
Ementa
- Introdução.
- Listas lineares.
- Pilhas
- Filas.
- Grafos.
- Árvores.
- Árvores balanceadas.
- Listas de prioridade.
- Tabelas de dispersão.
- Busca digital.
- Alocação Dinâmica.
Agenda
| Data | Conteúdo | Trabalho |
|---|---|---|
| 22/11/2007 | AULA 01(4) - Apresentação da Disciplina, Revisão Ponteiros | |
| 29/11/2007 | AULA 02(8) - Revisão de Ponteiros e Listas Dinâmicas | |
| 06/12/2007 | AULA 03(12) - Pilhas Estáticas e Dinâmicas | |
| 13/12/2007 | Feriado | |
| 20/12/2007 | AULA 04(16) - Filas Estáticas e Dinâmicas I | |
| 24/01/2008 | AULA 05(20) - Introdução a Árvores, Árvores Binárias, Inserção, Implementação Estática e Dinâmica | |
| 31/01/2008 | AULA 06(24) Prova I | |
| 07/02/2008 | - Não houve Aula (Carnaval) | |
| 14/02/2008 | - Não houve Aula (Motivo: Defesa da Tese) | |
| 21/02/2008 | AULA 07(28) - Introdução a Árvores, Inserção | |
| 28/02/2008 | AULA 08(32) - Entrega de Notas - Árvores Binárias, Percurso, Busca | |
| 06/03/2008 | AULA 09(36) - Máximo, Mínimo e Sucessor | |
| 13/03/2008 | AULA 10(40) - Remoção | |
| 20/03/2008 | AULA 11(44) - II Prova | |
| 27/03/2008 | AULA 12(48) - Balanceamento de Árvores | |
| 03/04/2008 | AULA 13(52) - Tabelas Hash | |
| 10/04/2008 | AULA 14(56) - Complexidade | |
| 17/04/2008 | AULA 15(60) - III Prova | |
| 18/04/2008 | FIM DO SEMESTRE - |
29/11/2007
Os alunos devem comentar cada linha de código abaixo e trazer o código comentado próxima aula.
#include <stdio.h> typedef struct Elemento{ int valor; struct Elemento *proximo; } Elemento; Elemento * inserir(int item, Elemento *e) { Elemento * begin = e; if(e == NULL) { e = malloc(sizeof(Elemento)); e->valor = item; e->proximo = NULL; return e; }else { while(e->proximo != NULL) { e = e->proximo; } e->proximo = malloc(sizeof(Elemento)); e = e->proximo; e->valor = item; e->proximo = NULL; return begin; } } void imprimir(Elemento* e) { int contador = 0; Elemento* temp = e; if(temp == NULL) { printf("Lista Vazia\n"); }else { while(temp != NULL) { printf(" %i->%i |",contador, temp->valor); temp = (Elemento*)temp->proximo; contador++; } } } int main() { Elemento* lista = NULL; lista = inserir(10, lista); lista = inserir(15, lista); lista = inserir(20, lista); lista = inserir(25, lista); imprimir(lista); return 0; }
06/12/2007
pilha.h
typedef struct elemento { int valor; struct elemento* proximo; }elemento; typedef struct pilha { int tamanho; elemento * topo; } pilha; void push(int item, pilha *p); elemento * pop(pilha * p);
pilha.c
#include "pilha.h" #include <stdio.h> void push(int item, pilha *p) { if(p->topo==NULL) { p->tamanho = 1; p->topo = malloc(sizeof(elemento)); p->topo->valor = item; p->topo->proximo = NULL; printf("Tava vazio, coloquei o primeiro: %i\n",item); }else { elemento * temp = p->topo; p->topo = malloc(sizeof(pilha)); p->topo->valor = item; p->topo->proximo = temp; printf("Empilhei mais um...:%i\n",item); } } elemento* pop(pilha *p) { if(p->topo==NULL) { printf("PILHA VAZIA!!!\n"); return NULL; }else { elemento * temp = p->topo; p->topo = p->topo->proximo; p->tamanho = p->tamanho - 1; printf("POP()!!! %i \n",temp->valor); return temp; } }
main.c
#include <stdio.h> #include "pilha.h" int main() { printf("Estrutura de Dados\n"); printf(" ## PILHA ##\n"); pilha p1; p1.tamanho = 0; p1.topo = NULL; push(10,&p1); push(15,&p1); push(20,&p1); pop(&p1); pop(&p1); pop(&p1); pop(&p1); }
page revision: 20, last edited: 23 Mar 2008 20:14






