Introdução às Estruturas de Dados e Algoritmos de Ordenação

Classificado em Computação

Escrito em em português com um tamanho de 3,96 KB

1 – Introdução ao Estudo das Estruturas de Dados

Um programa de computador consiste basicamente em duas coisas: instruções e locais para armazenar dados. Desse modo, as linguagens de programação são “equipadas” com mecanismos para controlar as instruções e os dados. Esses mecanismos são denominados “estruturas” e todas as linguagens de programação contemporâneas contam com dois tipos de estruturas: as estruturas de controle de fluxo de execução (para instruções) e as estruturas de dados (para os dados).

Estruturas de Controle de Fluxo de Execução:

  • Sequencial;
  • Condicionais;
  • Iterativas;
  • Chamadas a rotinas.

Estruturas de Dados:

  • Primitivas: (inteiro, real, lógico, caracter);
  • Compostas: 1) Homogêneas (vetores, matrizes); 2) Heterogêneas (registros, arquivos);
  • Complexas: 1) Estáticas (Listas Estáticas Sequenciais, Listas Estáticas Encadeadas); 2) Dinâmicas (Listas Dinâmicas, Ponteiros, Pilhas, Filas, Árvores).

2 – Revisão de Tópicos

  • Modularização;
  • Variáveis Locais e Globais;
  • Passagem de Parâmetros.

3 – Registros: As estruturas de dados utilizadas até o momento (vetores e matrizes) permitem o armazenamento de vários valores na mesma estrutura; porém, cada estrutura só pode ser definida para um único tipo de dados. Quando se precisou utilizar dados de diferentes tipos para a solução de problemas, foi necessário o uso de diferentes estruturas. Agora, é apresentada uma estrutura de dados em que é possível armazenar, na mesma estrutura, diversos valores de diferentes tipos de dados. Essa estrutura é chamada de Registro e, por sua característica, classificada como uma estrutura de dados heterogênea.

4 – Algoritmos de Ordenação ou Classificação

Algoritmo Bubble Sort (ou Método da Bolha): Por ser simples e de fácil implementação, o algoritmo Bubble Sort ou Método da Bolha está entre os mais conhecidos e difundidos métodos de ordenação de arranjos de dados. Mas não se trata do algoritmo mais eficiente. É estudado para desenvolvimento do raciocínio lógico e como introdução ao assunto de ordenação ou classificação de dados.

Algoritmo Selection Sort: O algoritmo do método de ordenação Selection Sort seleciona o maior elemento do arranjo e troca-o com o elemento da última posição. A cada iteração, desconsidera-se a “última” posição do vetor, fazendo com que o arranjo fique “menor”. Esse algoritmo também realiza (n-1) iterações para garantir que os elementos estejam ordenados.

Dinâmica de Funcionamento:

  • Na primeira iteração, o algoritmo encontra o maior elemento do vetor e troca este elemento com o elemento que está na n-ésima posição;
  • Na segunda iteração, despreza-se o n-ésimo elemento e encontra-se novamente o maior elemento (exceto o maior elemento já identificado na primeira iteração; este segundo maior é o maior entre os demais) e troca-se com o elemento que está na (n-1)-ésima posição;
  • Este processo se repete até que se tenha ordenado todos os elementos do arranjo.

Algoritmo Insertion Sort: O algoritmo do método de ordenação Insertion Sort utiliza a técnica de indução algorítmica para resolver o problema de ordenação. Assim, sabendo-se resolver um problema menor, resolve-se um problema maior.

Dinâmica de Funcionamento:

Considere o vetor V assim definido: V = { V1, V2, V3, ..., Vn-1, Vn }.

Considere o vetor V' assim definido e já ordenado: V' = { V1 }.

A dinâmica consiste em comparar do segundo elemento em diante do vetor V com o elemento (sempre já ordenado) do vetor V' e inseri-los na posição correta do vetor V'.

Entradas relacionadas: