pesquisa e ordenação
1. Existem casos em que o número de variáveis é muito grande gerando problemas para ordena-los (e em alguns deles nem sabemos ao certo, porque faremos uma alocação a partir de um número que o usuário pedir), por isso os algoritmos de ordenação são extremamente úteis. Existem vários motivos que motivam o estudo destes algoritmos por exemplo: acessar dados de maneira mais eficiente e organização de informações.
2. Para cada caso pode-se ser usado um dos vários algoritmos de ordenação, existem diversas formas de ordenação e para cada caso há pelo menos um que resolve de maneira melhor que outro. A diferença entre eles é que no insertion por exemplo, o vetor é percorrido da esquerda para a direita, à medida que avança vai deixando os elementos mais à esquerda e ordenados ( é como se faz no jogo de cartas ), no Select o vetor é percorrido à partir de um determinado valor até ao fim procurando o menor número para ordena-lo, caso não for encontrado nenhum número menor que este o valor escolhido, ele é colocado na posição do primeiro número escolhido, e o próximo número à sua direita vai ser o escolhido para fazer as comparações. É repetido esse processo até que a lista esteja ordenada, o Bublle ou algoritmo de bolha, também tem suas particularidades como por exemplo: Neste algoritmo cada elemento da posição i será comparado com o elemento da posição i + 1(par a par), ou seja, um elemento da posição 2 será comparado com o elemento da posição 3. Caso o elemento da posição 2 for maior que o da posição 3, eles trocam de lugar e assim sucessivamente. Por causa dessa forma de execução, o vetor terá que ser percorrido quantas vezes que for necessária, tornando o algoritmo ineficiente para listas muito grandes e o Merge que se utiliza do conceito de árvore balanceada, Sua idéia básica consiste em Dividir(o problema em vários sub-problemas e resolver esses sub-problemas através da recursividade) e Conquistar(após todos os sub-problemas terem sido resolvidos