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. |