Explicação da eficiência dos algoritmos de classificação / localização comumente usados

 

 

 

Método de classificação Análise de pior tempo Complexidade média do tempo Estabilidade Complexidade do espaço
Classificação de bolha O (n 2 ) O (n2) Estável O(1)
Inserir classificação O (n 2 ) O (n2) Estável O(1)
Selecionar classificação O (n 2 ) O (n2) Estável O(1)
Classificação de árvore binária O (n 2 ) O (n * log2n) Diferente O (n)
Classificação rápida O (n 2 ) O (n * log2n) Instável O (log2n) ~ O (n)
Classificação da pilha O (n * log 2 n) O (n * log2n) Instável O(1)
Hill Sort O O Instável O(1)

 

Localizar Complexidade média do tempo Condição de pesquisa Descrição do algoritmo
Pesquisa sequencial O (n) Fila não ordenada ou ordenada Compare cada elemento em ordem até que a palavra-chave seja encontrada
Pesquisa binária (meia pesquisa) O (log n) Matriz ordenada O processo de pesquisa inicia no elemento do meio da matriz. Se o elemento do meio é exatamente o elemento a ser pesquisado, o processo de pesquisa termina; se um determinado elemento for maior que ou menor que o elemento do meio, ele pesquisará na metade da matriz que é maior ou menor que o elemento do meio. E comece com o elemento do meio como antes. Se a matriz estiver vazia em uma determinada etapa, significa que não pode ser encontrada.
Pesquisa em árvore de classificação binária O (log n) Árvore de classificação binária Na árvore de busca binária b lookup x procedimento da seguinte forma:
1. Se b é árvore nulo, a pesquisa falhar
2. Se x é igual a b campo de dados valor do nó raiz, em seguida, a pesquisa for bem sucedida;
3. Se x é menor que b de O valor do campo de dados do nó raiz é procurado pela subárvore esquerda
4. Encontre a subárvore direita.
Método da tabela de hash (tabela de hash) O(1) Primeiro, crie uma tabela de hash (tabela de hash) De acordo com a pesquisa de valor-chave (Valor-chave), através da função hash para localizar o elemento de dados.
Bloquear pesquisa O (log n) Fila não ordenada ou ordenada Os n elementos de dados são divididos em m blocos "na ordem dos blocos" (m ≤ n).
Os nós em cada bloco não precisam ser ordenados, mas os blocos devem ser "ordenados por bloco"; ou seja, a palavra-chave de qualquer elemento no primeiro bloco deve ser menor que a palavra-chave de qualquer elemento no segundo bloco; e Qualquer elemento no segundo bloco deve ser menor que qualquer elemento no terceiro bloco ... Em seguida, use a pesquisa binária e a pesquisa seqüencial.

 

 

Publicado 22 artigos originais · Gosto 3 · Visitante 3442

Acho que você gosta

Origin blog.csdn.net/ChyoD1811/article/details/101348929
Recomendado
Clasificación