Estruturas de dados Flashcards
Algoritmos estáveis - valores iguais não sofrem alteração
Bubble Sort
Insertion
Merge
Algoritmos instáveis
Selection
Quick
Heap
Shell
Complexidade
Custo operacional para execução do algoritmo
Poder computacional - verifica o poder de processamento
Bubble Sort
Posição ‘x’ comparado com a ‘x+1’
comparação com elementos adjacentes
Simples - arquivos pequenos
Percorre várias vezes - pouco eficiente
pior caso = O(n2)
médio = O(n2)
melhor = O(n)
Selection Sort
Percorre o array e coloca o menor elemento na primeira posição -- lento PERCORRE TODOS ELEMENTOS ---> procura o mínimo Pouco eficiente pior caso = O(n2) médio = O(n2) melhor = O(n2)
Inserction Sort
Método preferido de jogador de carta – coloca ordenado
**Avança no array percorrendo vetor da esquerda pra direita ordenando os elementos posicionados à esquerda
Simples e eficiente -> ótimo para vetores parcialmente ordenados
Alto número de operações
pior caso = O(n2)
médio = O(n2)
melhor = O(n)
Shell Sort
Otimização do INSERCTION - GAP - Permite comparação de elementos distantes
Desempenho depende do GAP
Melhor desempenho dos complexidade de O(n2)
Não trabalha paralelizado
pior caso = O(n2)
médio = O(n)
melhor = O(nlogN))
Quick Sort
Dividir para conquistar - - PIVOT – eficiente quando tem muitos dados
Escolhe o PIVOT > partição > menores à esquerda e maiores à direita
*Ordenação recursiva dos valores
Mais utilizado - multithread
Precisa de muita memória
pior caso = O(n2)
médio = O(nlogN)
melhor = O(nlogN)
se não tiver pivot é o MERGE
Merge Sort
Dividir para conquistar SEM PIVOT ORDENAÇÃO E CONQUISTA pior caso = O(nlogN) médio = O(nlogN) melhor = O(nlogN)
Heap Sort
Generalista - Utiliza estrutura de suporte TEMPORÁRIA para comparação
ELEMENTOS INSERIDOS NA ESTRUTURA E REMOVIDOS NA ORDEM DESEJADA
Mais eficiente
pior caso = O(nlogN)
médio = O(nlogN)
melhor = O(nlogN)