estrututa de dados
Introdução
Antes de se iniciar o estudo referente às estruturas de dados, são necessárias algumas definições: Dados
Transformados
Dados
COMPUTADOR
Computação: estudo dos dados;
Computador: manipulador de dados;
Algoritmo: conjunto finito de instruções que, se seguidas, realizam uma determinada tarefa.
Ou seja, dado algum valor ou conjunto de valores como entrada, algum valor ou conjunto de valores será produzido como saída. Além disso, todo o algoritmo deve satisfazer:
1. Entrada: zero ou mais valores de entradas;
2. Saída: pelo menos um valor deve ser produzido;
3. Clareza: toda instrução deve ser clara e não ambígua;
4. Término: o algoritmo deve terminar após um número finito de passos;
5. Efetividade: toda a instrução deve ser factível.
Programa: conjunto de instruções que dizem ao computador o que deve ser feito. Pode ser composto por um conjunto de algoritmos (módulos). Pode não satisfazer o critério 4, por exemplo, um sistema operacional.
Os passos referentes à transformação dos dados podem também ser vistos por meio do seguinte fluxograma:
DADOS modelagem REALIDADE
representação
execução
RESULTADOS
ALGORITMOS
Um algoritmo também pode ser visualizado como uma ferramenta para resolver um problema computacional bem especificado (Cormen et al, 2002). O enunciado desse problema especifica em termos gerais o relacionamento entre a entrada e a saída desejada. O algoritmo descreve um procedimento computacional específico para se alcançar esse relacionamento da entrada com a saída.
Por exemplo, poderia ser necessário se ordenar uma seqüência de números em ordem crescente. Esse problema é definido formalmente da seguinte forma:
Entrada: Uma seqüência de n números 〈a1, a2,...,an〉.
Saída: Uma permutação (reordenação) 〈a’1, a’2,...,a’n〉 da seqüência de entrada, tal que a’1≤a’2 ≤
...≤a’n.
Dada uma seqüência de entrada 〈7,6,5,1,4,9〉, um algoritmo de ordenação retorna como saída a seqüência