Resumo

Nesse módulo apresentados os conceitos de pesquisa e ordenação. A pesquisa visa à recuperação de uma informação em uma lista. O método mais simples de pesquisa é a pesquisa linear, que verifica todos os elementos da lista para saber se correspondem ao valor procurado. Esse método se mostra ineficiente quando o valor procurado não se encontra na lista, visto que nesse caso teremos que comparar o valor com os N elementos da lista para obter uma resposta negativa da pesquisa. Um método mais eficiente é a pesquisa binária, que subdivide a lista em subconjuntos de valores cada vez menores até que o valor procurado seja encontrado. A desvantagem desse método é a necessidade da lista estar ordenada.

A necessidade de ordenar elementos de uma lista é muito comum em programação. O método mais simples consiste em ordenar os valores na lista buscando sempre o maior valor dos elementos não ordenados e colocando-o no final desse grupo. Esse é um método lento e custoso. O método chamado de método bolha (bubble sort) é muito utilizado. Esse método consiste na ordenação dos elementos de dois em dois. É um método que não é mais eficiente em termos da quantidade de comparações, mas é computacionalmente mais simples de ser implementado.

O último método de ordenação que vimos foi o método heapsort. Esse método baseia-se numa estrutura complexa chamada de heap. O heap consiste em uma árvore binária com regras estruturais específicas:

  1. valor do nó pai é sempre maior ou igual ao maior valor dos nós filhos.
  2. o heap é sempre preenchido da esquerda para a direita.

O heapsort é o método mais eficiente de ordenação, mas a sua implementação computacional é um pouco mais complexa que a dos métodos anteriores.

Copyright © 2014 AIEC.