Introdução à Classificação Rápida em JavaScript

Um algoritmo de classificação é uma das partes importantes da estrutura de dados. A classificação é a maneira de organizar o grupo de itens de uma maneira especificada. Sempre que discutimos algoritmos de classificação mais rápidos, o Quick Sort entra em ação. Essa é uma das técnicas de classificação mais populares de acordo com o tempo de execução. Essa é comparativamente uma escolha melhor de qualquer desenvolvedor ou codificador, devido ao seu desempenho. A Classificação Rápida funciona na regra de dividir e conquistar. Isso significa que ele divide a lista em duas e, em seguida, duas listas divididas em 4 recursivamente e assim por diante. Neste artigo, veremos como a classificação rápida também funciona com código de exemplo. Além disso, veremos como é mais rápido em comparação com outros algoritmos de classificação. Veremos os vários componentes desse algoritmo de classificação rápida.

Operações em Classificação Rápida

Existem três operações principais no JavaScript de classificação rápida:

  • Particionamento de uma lista: Divisão ou lista de matrizes usando a divisão e conquista. Este é o primeiro passo que podemos dizer nesta técnica de classificação. Para isso, precisamos de um elemento Pivot (elemento do meio ou próximo ao elemento do meio).
  • Trocar itens: Esse é o principal objetivo de qualquer algoritmo de classificação para chegar à lista de desejos como saída. Este é um mecanismo para classificar e substituir o valor de um para outro. Por exemplo, A = 10; B = 20; Se alguém pedir para trocar, o valor de A será 20 e B será 10.
  • Operação Recursiva: Isso desempenha um papel importante na Classificação Rápida. Como fazer as coisas repetidamente, não é tão possível e confiável sem ter a função recursiva. Isso é algo que uma função chama por si mesma (mesma função) para realizar o trabalho. Isso desempenha um grande papel em que realizamos qualquer tarefa repetidamente com a mesma abordagem e no mesmo contexto.

Comparação do algoritmo de classificação

Existem vários tipos de algoritmos de classificação. Como o JavaScript é uma linguagem de programação, ele suporta todos os algoritmos de classificação. Cada algoritmo de classificação tem seus prós e contras. Aqui está a lista de algoritmos de classificação, seu desempenho e outras matrizes:

Algoritmo de classificação Complexidade temporal
Melhor caso Caso Médio Pior caso
Tipo de bolhaΩ (N)N (N 2 )O (N 2 )
Classificação da seleçãoN (N 2 )N (N 2 )O (N 2 )
Classificação de inserçãoΩ (N)N (N 2 )O (N 2 )
Mesclar classificaçãoΩ (N log N)Θ (N log N)O (N log N)
Heap SortΩ (N log N)Θ (N log N)O (N log N)
Ordenação rápidaΩ (N log N)Θ (N log N)O (N 2 )

Como podemos ver na lista, a classificação RÁPIDA é mais rápida que a classificação de bolhas, classificação de seleção e classificação de inserção comparativamente.

Como a classificação rápida funciona em JavaScript?

Etapa 1 : Para obter o elemento Pivot - Em qualquer divisão e conquista, a seleção do pivô certo desempenha um papel vital. Portanto, geralmente tentamos obter o elemento do meio da matriz como um elemento Pivot. Este é o elemento de onde dividimos a matriz única na paz de duas para processar a classificação.

Etapa 2 : inicie os ponteiros esquerdos como o primeiro elemento da matriz de entrada.

Etapa 3 : inicie os ponteiros do lado direito como o último elemento da matriz de entrada.

Etapa 4 : Agora, comparamos os elementos no ponteiro esquerdo com o elemento dinâmico selecionado e trocamos o valor, se necessário, conforme os requisitos de negócios. Em seguida, comparamos o ponteiro correto com o elemento Pivot.

Etapa 5: mova os dois para o próximo. Todas as etapas acima seguem uma e outra vez usando uma abordagem recursiva.

Exemplo de Classificação Rápida em JavaScript

Essa é uma função para cuidar da Classificação Rápida em JavaScript. Nisso, passaremos a lista completa da matriz como entrada e obteremos a matriz classificada como saída.


Quick Sort in JavaScript

function quick_Sorting(array) (
if (array.length <= 1) (
return array; // if there is only one element then return the same
) else
(
var left = ();
var right = ();
var outputArray = ();
var pivot = array.pop();
var length = array.length;
for (var i = 0; i < length; i++) (
if (array(i) <= pivot) (
left.push(array(i));
) else (
right.push(array(i));
)
)
return outputArray.concat(quick_Sorting(left), pivot, quick_Sorting(right));
)
)
var myList = (3, 10, 2, 5, -5, 4, 7, 1);
alert("Input Array List: " + myList);
var sortedList = quick_Sorting(myList);
alert("Output Array List: " + sortedList);

Devido ao seu desempenho impressionante, a maioria dos codificadores usa essa técnica de classificação para implementar a funcionalidade de classificação incorporada. Em várias linguagens de programação, a classificação rápida foi usada para sua funcionalidade de classificação incorporada. Existem várias outras maneiras de escrever um programa para executar as operações de Classificação Rápida e todas as funções atendem a um ponto que é Divide and Conquer. Portanto, esse Divide and Conquer é uma regra de thump a ser processada com a Classificação Rápida no JavaScript. Não apenas em JavaScript, mas também em todas as linguagens de programação.

Resultado:

Artigos recomendados

Este é um guia para Classificação Rápida em JavaScript. Aqui discutimos como a classificação rápida funciona em javascript, suas operações e a comparação do algoritmo de classificação junto com o exemplo. Você também pode consultar os seguintes artigos para saber mais -

  1. Exemplos para implementar a classificação rápida em Java
  2. O que é declaração de caso em JavaScript?
  3. Propriedades de mesclagem Ordenar em JavaScript
  4. Tipos de construtor em JavaScript
  5. Heap Sort em Python
  6. Trocando em PHP
  7. Inserção Ordenar em JavaScript
  8. Função Recursiva em C
  9. Função Recursiva em JavaScript