Algoritmos, Programação e Estruturas de Dados: Lineares, Arvores, Ordenação, Heap, Hash, Grafos – Universidade do Algarve

Programação e Estruturas de DadosUniversidade do Algarve

Este site é especializado em programação e estruturas de dados, apresentando vários algoritmos, para essas diversas estruturas de dados, estáticas, ou dinamicas. Entre essas estruturas de dados, incluem-se arrays, listas, e arvores (binarias, AVL, SPLAY, REDBLACK). Para cada uma destas estruturas de dados, são apresentados e explicados diversos algoritmos, desde algoritmos mais simples de inserção, eliminação, e procura, até algoritmos mais complicados, como os de ordenação. Foram também estudadas estruturas de dados (e os respectivos algoritmos) para Hash, Heap e Grafos. Nesta cadeira de programação e estruturas de dados, os diversos algoritmos são todos em pseudo-código, de modo a facilitar a interpretação desses mesmos algoritmos.

Explicação de algumas estruturas de dados e implementações em pseudocódigo de algoritmos recursivos:
 
Programação e estruturas de dados - Estruturas Lineares
Listas
Filas
Pilhas
Programação e estruturas de dados - Arvores
Binárias Ordenadas
Splay
Red-Black
Avl
Dicionário
Programação e estruturas de dados - Algoritmos de ordenação (por comparação)
Inserção
Selecção
Fusão
Bolha
Quick Sort
Programação e estruturas de dados - Estrutura Heap
Heapsort
Programação e estruturas de dados - Hash Coding
Funções de índice
Resolução de colisões
Programação e estruturas de dados - Introdução ao Grafos
BFS
DFS
MST

Aqui estão os links para todas as aulas de Programação e estruturas de dados (PED) , ministradas na Universidade do Algarve no ano de 2001.
 
Recursividade e Apontadores - Aula 1
Aula 2
Aula 3
Aula 4
Aula 5
Programação e algoritmos de pilhas, filas, listas - Aula 6
Introdução ás árvores binárias - Aula 7
Algoritmos de árvores binárias - Aula 8
Inserção e eliminação nas árvores binárias - Aula 9
Aula 10
Árvore Splay - Aula 11
Árvores AVL - Aula 12
Algoritmos de ordenação - Aula 13
Algoritmos de ordenação (continuação) - Aula 14
Algoritmos de revisão para a 1ª frequência - Aula15
Correcção da 1ª frequência - Aula 16
Introdução aos Grafos - Aula 17
Algoritmos de resolução de colisões - Aula 18
Algoritmos de resolução de colisões (continuação) - Aula 19
Rehash ou hashagem dupla, heap sort e Grafos - Aula 20
Implementação de Grafos - Aula 21
Aula 22
Aula 23
Aula 24
Revisões - Aula 25
Resolução da 1ª frequência
Resolução da 2ª frequência

Na programação e estruturas de dados os algoritmos, ocupam um papel fundamental. Desde de o programa mais simples ao projecto mais complexo, deve-se optar pelo o algoritmo mais simples, objectivo e conciso na resolução de problemas informáticos. Os algoritmos são fundamentais no acesso, ordenação, manipulação de estruturas de dados sejam elas estáticas como é o caso dos arrays (vector e matriz), registos, ficheiros e conjuntos; e estruturas de dados dinâmicas como é o caso de listas, pilhas, arvores (binarias, dicionários, splay, AVL, red-black), grafos (simples, orientados e ponderados).
A cadeira de Programação e estruturas de dados dos cursos Engenharia de Sistemas e Computação, Informática de Ensino, e Informática de Gestão da Universidade do Algarve leccionada pelo docente Hamid Shahbazkia, permitiu e forneceu elementos fundamentais para a elaboração desta pagina, no intuito de ajudar futuros alunos a atingir os objectivos da cadeira assimilando mais facilmente os seus conteúdos.
Esta pagina permite-lhe apreender a seleccionar e manipular o algoritmo mais apropriado para cada situação apenas em 25 lições.

Na continuação da disciplina de programação e estruturas de dados existe a cadeira de Algoritmos

Esta página foi feita pelos alunos de programação e estrutura de dados: Rui Guerreiro    Nº 14104
                                                                                                            Telmo Silva       Nº 17145
                                                                                                            Claudio Coelho Nº 17436
                                                                                                            Luis Sousa        Nº 18825

As anteriores páginas das aulas de programação e estruturas de dados  foram feitas pelos restantes alunos de programação e estruturas de dados.

Se pretender fazer alguma pergunta, ou tiver duvidas sobre algum conteúdo desta página de algoritmos e programação e estruturas de dados pode enviar um e-mail para: ped2001@coollist.com

O número de pessoas que visitaram a nossa página de programação e estruturas de dados:Hit Counter