-
Gravar videos explicando o funcionamento do seguintes algoritmos:
- MergeSort
- QuickSort
- ShellSort
-
Tópicos do vídeo:
- Introdução: Apresentação da história do algoritmo, criador e especificações.
- Pseudocódigo: Demonstração do pseudocodigo que representa o algoritmo.
- Exemplo: Em formato de desenho, tabelas, etc.
- Conceito: Operação de rearranjar os dados em uma determinada ordem (alfabético, crescente, decrescente, etc.).
- Observações: Devem ser considerados tempo gasto pela ordenação e uso econômico de memória na escolha do algoritmo.
-
Bubble Sort ou trocas sucessivas: Método simples de ordenação que faz trocas sucessivas com base em comparações, flutuando o elemento pelo vetor, trocando ele pelo seu 'parente' em caso positivo da comparação, até esse alcançar o fim do vetor. Esse processo é repetido sucessivamente até o vetor ser organizado. A cada iteração, o indice é decrementando em um, evitando repetir a troca em campos já ordenados.
- Vantagem: Implementação simples, útil para vetores pequenos.
- Desvantagem: Com estruturas grandes, maior numero de comparações e movimento de dados, causando lentidão.
-
Insertion Sort: Divide os elementos em duas subestruturas, uma com elementos ordenados e outros com elementos para ordenar. Processo é feito da primeira para ultima posição. Valor que será ordenado é guardado em auxiliar. Indice representa o valor antecessor a esse elemento. Comparação checa se indice é maior ou igual a 0 e se valor do indice é maior que o auxiliar. Caso sim, desloca o valor em indice para o local correto. Checa se há mais indices a esquerda. Caso não, o valor de indice se torna o elemento em auxiliar, que agora está no local correto. Aumentando gradativamente o valor do vetor, cada intervalo é ordenado e reordenado com a inserção de novos valores no processo. Pode ser visto como o inverso do Bubble Sort. Resumidamente, o algoritmo vai ordenando um bloco, começando com os dois primeiros valores do vetor, e adicionando um novo elemento a esse bloco já ordenado. Então, ele ordena esse novo elemento nesse bloco. Esse novo bloco então é acrescentado mais um elemento e ordenado novamente. Esse processo se repete até alcançar o fim do vetor.
- Vantagens: Bom para quando a sequência já está quase ordenada ou quando quer adicionar itens a uma sequência já ordenada. Comumente, é utilizado para inserção em intervalos já ordenados e não para ordenação em si.
- Desvantagens: Não é feito especificamente para vetores totalmente desordenados ou ordenados de forma contrária a ordenação especificada, provocando muitos movimentos e comparações.
-
Selection Sort: O algoritmo procura o menor elemento do vetor e troca de lugar com a primeira posição. Os subsequentes menores serão trocados com a posição em frente a troca anterior, até alcançar o fim do vetor.
- Vantagem:
-
Merge Sort: