algoritmos e estruturas de dados

Post on 15-Jan-2016

45 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Algoritmos e Estruturas de Dados. Apresentação do Curso Setembro/2005. Professora: Liliane Rose Benning Salgado. E-mail: liliane@cin.ufpe.br Equipe de apoio (monitores): Eliaquim Lima Sá Neto (elsn@cin.ufpe.br) Igor Cavalcanti Ramos (icr2@cin.ufpe.br) - PowerPoint PPT Presentation

TRANSCRIPT

Algoritmos e Estruturas de Dados

Apresentação do Curso

Setembro/2005

Professora: Liliane Rose Benning Salgado. E-mail: liliane@cin.ufpe.br

Equipe de apoio (monitores):

Eliaquim Lima Sá Neto (elsn@cin.ufpe.br)Igor Cavalcanti Ramos (icr2@cin.ufpe.br)José Francisco Pereira (jfp@cin.ufpe.br)Marcondes Junior (mrsj@cin.ufpe.br)Nitai Bezerra da Silva (nbs@cin.ufpe.br)Tiago Lins Falcão (tlf@cin.ufpe.br)

Página da disciplina:http://petrolina.cin.ufpe.br/~if672/2005.2/

Conteúdo Programático

• Array e listas.

• Disciplinas de Pilha e Fila.

• Árvores de Busca Binária.

• Árvores AVL. Rotações simples e dupla.

• Árvores 2-3 e Árvores-B.

• Criação de Heaps. Inserção e Remoção.

• Hashing

Conteúdo Programático (continuação)

• Conjuntos

• Algoritmos de ordenação: mergesort, quicksort, heapsort.

• Algortimos em grafos.

• Programação Dinâmica.

• Backtracking.

Referências

• Baase, S. and Gelder, A. V. "Computer Algorithms - Introduction to Design and Analysis", Third Edition, Addison-Wesley, 2000.

• Manber, U. "Introduction to Algorithms: A Creative Approach", Addison-Wesley, 1989.

• Cormen, T. H.; Leiserson, C. E.; Rivest, R. L. and Stein, C. “Introduction to Algorithms”- Second Edition, MIT Press, 2001.

• Szwarcfiter, J. L. and Markenzon, L. “Estruturas de Dados e seus Algoritmos” – Segunda Edição Revista, LTC, 1994.

• Robert Sedgewick, "Algorithms in C", Third Edition, Addison-Wesley, 1998.

• Mark Allen Weiss, "Data Structures and Algorithm Analysis in Java", Peachpit Press, 1998.

Estruturação da Informação

Qualquer área da computação: algoritmos + estruturas de dados

Definição (algoritmo): processo sistemático para a resolução de um problema.

Aspectos Básicos

1. Correção: consiste em verificar a exatidão do método, o que é realizado através de uma prova matemática.2. Análise: visa à obtenção de parâmetros que possam avaliar a eficiência do algoritmo em termos do tempo de exe- cução e memória ocupada.

Entrada: informações inicialmente conhecidas e que permitem encontrar a solução do problema.

Saída: resultado do problema a partir de uma entrada.

Entrada SaídaManipulação

de Dados

Definição 2 (algoritmo): procedimento que transforma dados em informação.

Desenvolvimento de Programas(etapas constituintes)

1. Especificação do problema: entendimento das relações existentes entre os dados que são relevantes para o problema (estruturação lógica).

2. Projeto em alto nível: que transformações serão efetuadas no algoritmo para resolver o problema.

3. Análise de alternativas.

4. Refinamento e codificação: refinar o item 2 em termos dosmecanismos disponíveis na linguagem em que o programa será codificado.

5. Verificação de Comportamento: avaliar o programa obtido para vermos se satisfaz as especificações do problema e quantoao desempenho (tempo e memória), modoficando-o se for o ca-so.

Três pontos importantes

1. Estruturas de Dados – retrata as relações lógicas entreos dados (como um modelo matemático para a realidade do

Problema).

2. Operações – manipulam estas estruturas de dados e as transformam.

3. Estrutura de representação – precisamos armazenar os dados na memória do computador através de uma estruturade representação.

Programa: representação de um algoritmo que manipula representações de dados.

Conclusão

Escolha de estruturas de dados, suas operações (algoritmos)e representações podem ser fatores decisivos na eficiência

do programa final.

top related