algoritmos e estruturas de dados
DESCRIPTION
Algoritmos e Estruturas de Dados. Apresentação do Curso Setembro/2005. Professora: Liliane Rose Benning Salgado. E-mail: [email protected] Equipe de apoio (monitores): Eliaquim Lima Sá Neto ([email protected]) Igor Cavalcanti Ramos ([email protected]) - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Algoritmos e Estruturas de Dados](https://reader036.vdocuments.com.br/reader036/viewer/2022082322/568149df550346895db705bc/html5/thumbnails/1.jpg)
Algoritmos e Estruturas de Dados
Apresentação do Curso
Setembro/2005
![Page 2: Algoritmos e Estruturas de Dados](https://reader036.vdocuments.com.br/reader036/viewer/2022082322/568149df550346895db705bc/html5/thumbnails/2.jpg)
Professora: Liliane Rose Benning Salgado. E-mail: [email protected]
Equipe de apoio (monitores):
Eliaquim Lima Sá Neto ([email protected])Igor Cavalcanti Ramos ([email protected])José Francisco Pereira ([email protected])Marcondes Junior ([email protected])Nitai Bezerra da Silva ([email protected])Tiago Lins Falcão ([email protected])
Página da disciplina:http://petrolina.cin.ufpe.br/~if672/2005.2/
![Page 3: Algoritmos e Estruturas de Dados](https://reader036.vdocuments.com.br/reader036/viewer/2022082322/568149df550346895db705bc/html5/thumbnails/3.jpg)
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
![Page 4: Algoritmos e Estruturas de Dados](https://reader036.vdocuments.com.br/reader036/viewer/2022082322/568149df550346895db705bc/html5/thumbnails/4.jpg)
Conteúdo Programático (continuação)
• Conjuntos
• Algoritmos de ordenação: mergesort, quicksort, heapsort.
• Algortimos em grafos.
• Programação Dinâmica.
• Backtracking.
![Page 5: Algoritmos e Estruturas de Dados](https://reader036.vdocuments.com.br/reader036/viewer/2022082322/568149df550346895db705bc/html5/thumbnails/5.jpg)
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.
![Page 6: Algoritmos e Estruturas de Dados](https://reader036.vdocuments.com.br/reader036/viewer/2022082322/568149df550346895db705bc/html5/thumbnails/6.jpg)
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.
![Page 7: Algoritmos e Estruturas de Dados](https://reader036.vdocuments.com.br/reader036/viewer/2022082322/568149df550346895db705bc/html5/thumbnails/7.jpg)
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.
![Page 8: Algoritmos e Estruturas de Dados](https://reader036.vdocuments.com.br/reader036/viewer/2022082322/568149df550346895db705bc/html5/thumbnails/8.jpg)
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.
![Page 9: Algoritmos e Estruturas de Dados](https://reader036.vdocuments.com.br/reader036/viewer/2022082322/568149df550346895db705bc/html5/thumbnails/9.jpg)
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.
![Page 10: Algoritmos e Estruturas de Dados](https://reader036.vdocuments.com.br/reader036/viewer/2022082322/568149df550346895db705bc/html5/thumbnails/10.jpg)
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.