dfew
Ano lectivo 2000/2001
Apontamentos de
Algoritmos e Estruturas de Dados
realizados por: Rui Leandro (nº 350/M)
Docente:
Dr. Rui Carriço
Indíce
1 Introdução ao estudo dos algoritmos 3
2 Estruturas dinâmicas de dados – Listas e Stacks 4
2.1 Introdução 4
2.2 Listas simples (Simple lists) 5
2.3 Listas não ordenadas (Unordered lists) 8
2.4 Listas ligadas (Linked lists) e Pseudo-ponteiros (Pointer faking) 12
2.4.1 Adicionar elementos a uma linked list 13
2.4.1.1 Inserir um elemento no topo da lista 14
2.4.1.2 Inserir um elemento no meio da lista 14
2.4.2 Remover elementos de uma linked list 15
2.4.2.1 Remover um elemento do topo da lista 15
2.4.2.2 Remover um elemento do meio da lista 15
2.4.3 Sentinelas (Sentinels) 16
2.4.4 Listas de lixo (Garbage Lists) 16
Nota: Estes apontamentos são baseados nas aulas leccionadas pelo Prof. Dr. Rui Carriço e no livro Visual Basic Algorithms, de Rod Stephens (John Wiley & Sons, Inc.).
1 Introdução ao estudo dos algoritmos
O que são algoritmos? São listas com indicações para execução de uma determinada tarefa. Podemos criar algoritmos para qualquer tipo de tarefa (conduzir, usar o microondas, etc).
Para os computadores, as listas de instruções têm de ser explícitas, uma vez que o seu vocabulário é limitado.
Quando se escreve um algoritmo para um computador, deve-se analisar não só se está correcto mas também a sua performance. Os seguintes factores são importantes na análise de um algoritmo:
complexidade velocidade de execução recursos usados (memória, etc) etc. 2 Estruturas dinâmicas de dados – Listas e Stacks
2.1 Introdução
Existem 3 formas principais de alocar memória no Visual Basic:
declarar variáveis de tipo standard (Integer, Double,etc) declarar variáveis definidas pelo programador criar e redimensionar arrays
Outras formas:
criar novas instâncias de um