Para que um computador faça qualquer coisa, você precisa de um programa de computador. Para criar um programa de computador, você tem de informar ao computador, passo a passo, exatamente o que você espera que ele faça. O computador então "executa" o programa, seguindo cada passo mecanicamente para atingir o objetivo final.
Quando você "diz" ao computador o que fazer, você também deve escolher como ele vai fazer. É aí que entram os algoritmos de computador. Algoritmo é a técnica básica usada para fazer o trabalho. Vamos acompanhar um exemplo para ajudar a entender o conceito de algoritmo.
Digamos que você tem um amigo chegando ao aeroporto e ele precisa ir do aeroporto até sua casa. Aqui estão quatro algoritmos diferentes que você poderia dar a seu amigo para ele chegar à casa:
- o algoritmo do táxi:
- vá para o ponto de táxi;
- entre em um táxi;
- dê meu endereço ao motorista.
- o algoritmo "ligue-me":
- quando seu avião chegar, ligue para meu celular;
- espere do lado de fora do terminal de bagagens.
- O algoritmo "alugue um carro":
- pegue o circular até o aluguel de automóveis;
- alugue um carro;
- siga as instruções para chegar até minha casa.
- O algoritmo do ônibus:
- fora do terminal de bagagens, pegue o ônibus número 70;
- faça uma baldeação para o ônibus 14 na Rua Dom Pedro;
- desça na rua Aroeira;
- ande duas quadras para norte até minha casa.
Na programação de computadores, freqüentemente há diversos caminhos, ou algoritmos, para cumprir qualquer tarefa determinada. Cada algoritmo tem vantagens e desvantagens em situações diferentes. A ordenação é uma área onde se fez muita pesquisa, porque os computadores gastam muito tempo classificando listas. Aqui estão cinco algoritmos diferentes que são usados na ordenação:
- ordenação por caixas
- ordenação por mistura
- ordenação por bolha
- ordenação por aparência
- ordenação rápida