código de incorporação javascript

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Uma classificação de inserção Java avalia cada item em uma lista. Se um item for menor que o anterior, a classificação troca os itens. Caso contrário, os itens permanecem no mesmo lugar e os dois itens são comparados na lista.

Os computadores são bons em classificar a lista de itens. Ao usar loops, você pode pesquisar todos os itens em uma lista e alterar sua ordem até que apareçam de uma determinada maneira.

Na programação, existem maneiras padrão de classificar listas. Chamamos esses algoritmos de ordenação. Os algoritmos de classificação lêem todos os itens em uma lista e os classificam usando um conjunto específico de instruções. Um dos algoritmos de classificação mais atuais que você encontrará é algum tipo de inserção.

Neste guia, discutiremos como implementar um algoritmo de classificação por inserção Java . Veremos um exemplo ao longo do caminho para que você possa aprender a lógica por trás de qual tipo funciona.

Vamos começar!

O que uma inserção Java produz?

Um tipo de inserção Java funciona como classificar cartas na mão em um baralho de cartas. As classificações de inserção verificam cada item em uma lista e os trocam por um item à sua esquerda. Se um item é trocado depende se o item é maior ou menor que o item anterior.

Imagine, por um momento, que você está jogando um jogo de cartas - whist, rummy, o que for. Quando você pede seus cartões, o que você faz?

Você começará da esquerda e verificará se o segundo cartão está classificado. Se esta carta for maior que a anterior, ela deve permanecer na mesma posição. Caso contrário, deve mover uma posição na lista.

Você terá gasto todas as cartas em sua mão e fará isso até que todas as cartas apareçam na ordem correta.

quando usar a entrada de classificação?

Existem várias tipos de inserções usadas quando há apenas alguns elementos restantes que precisam ser classificados

< /a>

Existem algoritmos mais eficientes que você pode usar para classificar listas de dados, como uma espécie de mesclagem. É por isso que você nem sempre deve usar uma classificação de inserção por padrão. No entanto, os tipos de integração são mais eficazes do que os tipos de bolhas e a seleção de posições para classificar uma lista.

Uma inserção é uma espécie de algoritmo de classificação simples , o que significa que é útil para iniciantes aprenderem.

p>

procedimento de inserção de classificação

Visualizar um baralho de cartas não é a coisa mais intuitiva do mundo. Para começar, veja um exemplo de programação. Considere a seguinte lista:

8 6 3 9

Nesta lista, assumimos que o primeiro item está ordenado.

Nosso próximo passo é comparar o segundo item da nossa lista com o primeiro. Se o primeiro elemento for maior que o segundo elemento, esse elemento será colocado na frente do primeiro elemento.

Neste caso, 6 é maior que 8. Isso significa que 6 retornará uma posição em nossa lista e 8 avançarão uma posição:

6 8 3 9

Agora precisamos comparar o terceiro elemento com os elementos à sua esquerda: 3 é maior que 8? Não, então 8 mova a posição para a direita:

6 3 8 9

3 é maior que 6? Não, então vamos mover o número 6:

3 6 < /td> 8 9

Agora precisamos comparar se o quarto ponto em nossa lista - o último elemento - é superior a qualquer outro em nossa lista. Nesse caso, 9 é maior que todos os elementos anteriores: 8, 6 e 3.

Aqui está o algoritmo que usamos para classificar a lista:

  • o primeiro elemento é classificado.
  • Compare o segundo elemento com o elemento à sua esquerda.
  • Se este elemento for maior que o valor à sua esquerda, o elemento permanece no mesmo lugar. Caso contrário, mova o valor para a esquerda.
  • Repita até que todos os itens apareçam em ordem.

Agora temos um array ordenado. Os tipos de inserção são classificados em um item por vez. Vamos ver como implementar este algoritmo de ordenação em Java

Como executar um inserir classificação em Java

o maior dos dois valores ‚Äã‚Äãsendo comparado é inserido uma posição à direita cada vez que a função de classificação é executada.

Não há problema em falar em termos teóricos , mas como ele é implementado em Java? É uma boa pergunta. Vamos escrever uma classe que classificará por inserção em uma lista de notas dos alunos.

Prepare a biblioteca de matrizes

Vamos começar importando a Array Library para nosso programa Java. Usaremos essa biblioteca para imprimir nossa lista no console depois de classificá-la:

decla re a sort method

Começaremos declarando um método que itera em nossa lista e classifica nossos dados em ordem crescente >:

Vamos começar descobrindo quantos elementos em nosso array de entrada. Isso nos permite criar um loop que passa por cada item em nossa lista. Inicializamos um loop que faz um loop até sairmos da nossa lista.

Em nosso loop, declaramos duas variáveis: a chave e a última.

O Java

a> variável "key" mantém o controle do elemento que estamos solicitando no momento. A variável "last" registra quantos itens devem ser classificados à esquerda do item.

Nosso programa comparará o valor de "key" para cada elemento à sua esquerda até encontrarmos um elemento menor . Isso acontece em nosso loop Java "while" .

Defina uma função principal

Quando executamos isso código, nada acontece. De fato, ainda não definimos nossa função principal. Definimos uma função main que define uma rede de int (um array de números). Esta função principal usa a função insertSort() que declaramos para classificar esses dígitos. Cole este código após declarar sua entradaSort método Java :

Em nosso método main, declaramos uma lista dos números que queremos classificar. Instanciamos nosso método InsertionSort() chamado sortNumbers . Usamos esse método para classificar a lista de números em ordem crescente. Este método altera os valores ‚Äã‚Äãem nosso vetor "dígitos"; não declaramos um array separado para armazenar seus valores.

A seguir, usamos o método Arrays.toString () para converter nossa matriz de números em uma string. <

h2> complexidade do exame

classificação de inserção tem uma complexidade média de casos de O ( n ^ 2). Isso acontece quando nenhum item é classificado.

A complexidade do melhor caso ocorre se uma matriz é classificada. Isso produz uma complexidade de tempo de O (n). Na verdade, o loop interno em algum tipo de a inserção não será executada neste caso.

no pior caso, uma inserção é feita em O ‚Äã‚Äãsort (n ^ 2). Isso acontece se um array estiver em ordem crescente ou decrescente e você quer ordenar na ordem inversa (ou seja, ascendente para descendente). o confronto de cada elemento com todos os outros elementos ents.

Conclusão

Os tipos de inserção são uma maneira eficiente de classificar dados. orts compara os valores a partir do segundo em uma lista. Se este valor for maior que o da esquerda, nossa lista não muda. Caso contrário, o valor será movido até que o elemento à esquerda seja menor.

Agora você está pronto para começar a escrever seu próprio algoritmo de classificação por inserção em Java!Se você estiver procurando por mais recursos de aprendizado Java , confira nosso Guia de aprendizagem de Java .