Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Comparação de algoritmos de ordenação
Com literalmente dezenas de algoritmos de ordenação disponíveis , determinando que vai funcionar melhor com o seu sistema vai depender de comparações de vários fatores , como o tamanho da lista , a velocidade ou a complexidade do algoritmo, e se você vai usar uma chave para classificar. Complexidade

A complexidade de um algoritmo de ordenação é medido por O ( n ) , ou a " ordem de n ", onde n é o tamanho da lista . Ela mede quantos passes que leva para ordenar a lista e calcula seu melhor, pior e tempo médio para fazê-lo. Complexidades comuns incluem n como melhor caso para os tipos , tais como tipo de inserção e shell tipo , n log n, (usando um logaritmo de base 2 , e não uma base-10 ), que é a complexidade para merge sort e heapsort , e n ² , que é mais lento do que na primeira vez e é a velocidade para a seleção de tipo de
lista Condição

às vezes, você vai saber como os itens não classificados em uma lista são organizados. : por exemplo, se eles estão quase classificado, em ordem inversa, ou uma lista com alguns itens exclusivos. Esse conhecimento ajuda a selecionar um algoritmo eficiente para resolver o assunto . Por exemplo, usando a inserção de classificação para classificar uma lista em ordem invertida tem uma duração de n ², enquanto heap de classificação podem fazê-lo mais rápido, no log n n tempo. Em uma lista que está quase classificado, ordenação por inserção é mais rápido que tipo heap. Quando a lista contém um conjunto inteiramente casualizado de dados, selecione um algoritmo com uma média complexidade caso de log n n tempo de execução , como a pilha de tipo , quicksort ou merge sort .
Lista Tamanho

Alguns algoritmos são mais difíceis de usar do que outros, por isso o número de elementos em uma lista e quantas vezes você precisa classificar pode ajudar a determinar o algoritmo que você vai escolher . Classifica como ordenação por inserção são rápidos e funcionam bem ao ordenar listas menores , e são fáceis de implementar, mas eles são lentos com as listas de maiores dimensões. Ordena que usam um algoritmo de dividir e conquistar , como quicksort e mesclar tipo são mais difíceis de implementar , mas as listas de classificação maiores mais rápido em casos médios.
Estabilidade

estabilidade Algoritmo descreve se o tipo mantém a ordem dos itens com base em uma chave de classificação. Por exemplo, usando o primeiro caractere como uma chave para uma lista que tem " John ", " Steve " e " Jim " nesta ordem, um algoritmo estável classifica a lista de " João", " Jim " e " Steve ", enquanto um algoritmo instável pode ou não classificar " Jim " antes de " João". Mesclar espécie , tipo de inserção e bubble sort são todos os algoritmos estáveis ​​enquanto shell espécie , tipo de seleção e pilha tipo não são.

Anterior :

Próximo : No
  Os artigos relacionados
·Lista de embutidos SAS Macros 
·Como Pular uma linha em MATLAB 
·Como armazenar Javascript externo 
·Como usar parâmetros em SSIS 
·Como Chegar SoapClient para Enviar um Accept Header 
·Como converter um Int em um String em T-SQL 
·Como remover XMLNS De um Tag 
·Como escrever Lines Área texto individualmente para um…
·Os Efeitos do buffer overflows e formato Cordas em Flux…
·Variáveis ​​de uma função MATLAB 
  Artigos em destaque
·Como renomear NIB para XIB no Xcode 
·Como importar XLS para NET 
·Como excluir vários registros no Entity Framework sem …
·Como atualizar TabHost conteúdo em um Android 
·Qual é a diferença entre uma linguagem de montagem e …
·Como usar o C + + para escrever um código para calcula…
·Como executar E /S com arquivos binários em C + + 
·Como converter uma entrada para um Integer 
·Quais são as diferenças entre C -Pascal e Linguagem C…
·Como descobrir se uma letra é maiúscula em C Sharp 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados