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 Javao 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 exameclassificaçã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ãoOs 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 . |