Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Vantagens e Desvantagens de Bubble Sort
Programadores que mudar de PC e desenvolvimento web em codificação para dispositivos móveis ou sistemas embarcados descobrir que mais tempo é gasto a seleção e codificação de suas próprias estruturas de dados e algoritmos. Com menos memória e armazenamento de dados limitado, não há espaço para bibliotecas ou estruturas pré-construídos . Portanto, para aqueles que precisam escrever suas próprias rotinas de classificação , aqui estão algumas considerações sobre como escolher o bubble sort humilde . Background Fotografia de

O bubble sort é um algoritmo simples que ordena uma lista de itens na memória. Dada uma matriz , o código compara repetidamente cada par de itens adjacentes e troca -los, se eles não estão em ordem. O processo se repete até que não ocorram mais swaps . Se fosse possível visualizar a matriz , enquanto a espécie está em andamento, os baixos valores seriam " bolha " para o topo , enquanto os grandes valores que vão para o fundo . Aqui está o código relevante em Visual Basic 2010 :

Enquanto troca = True


troca = False

For i = 0 To tbl.length - 2

Se tbl ( i) > tbl (i + 1) Então

tmp = tbl ( i)

tbl (i) = tbl (i + 1)

tbl (i + 1) = tmp

troca = True End If


Próxima

End While
Quando escolher o Bubble Sort

Este algoritmo tem várias vantagens. É simples de escrever , fácil de entender e leva apenas algumas linhas de código. Os dados são ordenados no lugar para que haja pouca sobrecarga de memória e, uma vez ordenados , os dados estão na memória, pronto para processamento. A maior desvantagem é a quantidade de tempo que leva para classificar . O tempo médio aumenta quase exponencialmente à medida que o número de elementos da tabela aumentar. Dez vezes o número de itens leva quase uma centena de vezes mais tempo para classificar.

Outros tipos de matriz

Algoritmos de ordenação variam em complexidade , velocidade e sobrecarga . O bubble sort é o menos complexo, mas também uma das mais lentas . Outros tipos baseadas em matrizes , como o tipo de inserção e troca de tipo são um pouco mais rápido, mas levam mais de código ( veja as referências abaixo ) . A principal vantagem do tipo baseado em matriz são de que eles usam o mínimo de código e ter o mínimo de memória de trabalho. Considere esses tipos de matrizes simples, com menos de algumas centenas de itens.
Complexo Ordenar Algoritmos

conjuntos de dados maiores requerem um código mais complexo e mais memória. A classificação rápida e pilha tipo tanto dividir e copiar os conjuntos de dados para otimizar o número de comparações . A classificação rápida divide continuamente a lista , em seguida, reagrupa -lo em ordem de classificação. As cópias pilha classificar os dados em uma estrutura de árvore , em seguida, percorre a árvore para copiar os dados de volta em ordem . Ambos são rápidos e eficientes , mas ter mais código e armazenamento muito mais trabalho. Escolha estes algoritmos para grandes conjuntos de dados.

Anterior :

Próximo : No
  Os artigos relacionados
·Como ler um arquivo em Fortran 
·Como usar o Oracle Seqüências 
·Como ler a coluna de uma String 
·Como definir valores dentro de uma caixa de combinaçã…
·Como usar SendKeys com uma seqüência de URL 
·Como criar um script para aplicar privilégios para um …
·Como travar um erro usando ObjectDataSource 
·Como fazer um RadGrid Fade in uma Animação 
·Como usar um interruptor Caso Com Enum 
·Como escrever um programa para verificar se uma string …
  Artigos em destaque
·Como passar Modelo estruturas em Funções em C 
·Como projetar Especificação Idiomas para Sistemas de …
·Como posso Adicionar referência da Web para um C # apl…
·Substring Em CSH 
·Diferenças entre UML e outras línguas 
·Como fazer um wireframe de Trabalho 
·Como escrever scripts para Mac OS X 
·Como verificar o intervalo de datas em COBOL 
·Tipos de arquivos que podem ser usados ​​com QBASIC 
·Como usar o UTF- 8 Códigos 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados