Estes são apenas para fins de demonstração. Existem muitas espécies de implementações na biblioteca padrão JavaScript que são muito melhores por razões de desempenho.
Obrigado por ThealGorithms: https://github.com/thealgorithms
Do tipo Wikipedia: Bubble, às vezes chamado de classificação, é um algoritmo de classificação simples que passa repetidamente pela lista a ser classificada, compara cada par de itens adjacentes e os troca se estiverem na ordem errada. A passagem pela lista é repetida até que nenhum swaps seja necessário, o que indica que a lista é classificada.
Propriedades
Da Wikipedia: a classificação de inserção é um algoritmo simples de classificação que cria a matriz (ou listar) de classificação final um item de cada vez. É muito menos eficiente em listas grandes do que algoritmos mais avançados, como Quicksort, Heapsort ou Merge Sort.
Propriedades
Da Wikipedia: na Ciência da Computação, a Merge Sort (também comumente escritos de Mergesort) é um algoritmo de classificação eficiente, de uso geral e baseado em comparação. A maioria das implementações produz um tipo estável, o que significa que a implementação preserva a ordem de entrada de elementos iguais na saída classificada. O Mergesort é um algoritmo de divisão e conquista que foi inventado por John von Neumann em 1945.
Propriedades
Da Wikipedia: o Quicksort (às vezes chamado de classificação de partição) é um algoritmo de classificação eficiente, servindo como um método sistemático para colocar os elementos de uma matriz em ordem.
Propriedades
Da Wikipedia: O algoritmo divide a lista de entrada em duas partes: o sublist de itens já classificados, que é construído da esquerda para a direita na frente (esquerda) da lista e o sublistão de itens restantes para serem classificados que ocupam o restante da lista. Inicialmente, o sublista classificado está vazio e a sublista não classificada é a lista de entrada inteira. O algoritmo prossegue encontrando o menor (ou maior, dependendo da ordem de classificação) no sublista não classificado, trocando (trocando) com o elemento mais esquerdo (colocando -o em ordem classificada) e movendo os limites sublistentes um elemento para a direita.
Propriedades
Da Wikipedia: Shellsort é uma generalização do tipo de inserção que permite a troca de itens que estão distantes. A idéia é organizar a lista de elementos para que, começando em qualquer lugar, considerando que cada elemento do Nth fornece uma lista classificada. Diz-se que essa lista é classificada em H. Equivalentemente, pode ser pensado como listas intercaladas H, cada uma classificada individualmente.
Propriedades
Comparando a complexidade dos algoritmos de classificação (classificação de bolhas, tipo de inserção, classificação de seleção)
Gráficos de complexidade
Da Wikipedia: pesquisa linear ou pesquisa seqüencial é um método para encontrar um valor alvo em uma lista. Ele verifica sequencialmente cada elemento da lista para o valor de destino até que uma correspondência seja encontrada ou até que todos os elementos tenham sido pesquisados. A pesquisa linear é executada na pior das hipóteses e faz no máximo n comparações, onde n é a duração da lista.
Propriedades
Da Wikipedia: Pesquisa binária, também conhecida como pesquisa meio interval ou pesquisa logarítmica, é um algoritmo de pesquisa que encontra a posição de um valor alvo em uma matriz classificada. Ele compara o valor alvo ao elemento médio da matriz; Se eles são desiguais, a metade em que o alvo não pode mentir é eliminada e a pesquisa continua na metade restante até que seja bem -sucedida.
Propriedades
Da Wikipedia: Pesquisa de Jump ou Pesquisa em Bloco refere -se a um algoritmo de pesquisa para listas ordenadas. Funciona primeiro verificando todos os itens lkm, onde { displaystyle k in mathbb {n}} k in mathbb {n} e m é o tamanho do bloco, até que um item seja encontrado maior que a chave de pesquisa. Para encontrar a posição exata da tecla de pesquisa na lista, uma pesquisa linear é realizada no sublist l [(k-1) m, km].
Propriedades
Na criptografia, uma cifra Caesar , também conhecida como cifra de Caesar, a cifra de mudança, o código de Caesar ou a mudança de Caesar, é uma das técnicas de criptografia mais simples e amplamente conhecidas.
É um tipo de cifra de substituição na qual cada letra no texto simples é substituída por uma letra, um número fixo de posições no alfabeto. Por exemplo, com um turno esquerdo de 3, D seria substituído por A, E se tornaria B e assim por diante.
O método recebeu o nome de Júlio César , que o usou em sua correspondência privada.
A etapa de criptografia realizada por uma cifra Caesar é frequentemente incorporada como parte de esquemas mais complexos, como a Cipher Vigenère, e ainda possui aplicação moderna no sistema ROT13. Como em todas as cifras de substituição de alfabetos únicos, a cifra César é facilmente quebrada e, na prática moderna, oferece essencialmente a segurança da comunicação.
A Cipher Vigenère é um método de criptografar texto alfabético usando uma série de cifras de Caesar entrelaçadas com base nas letras de uma palavra -chave. É uma forma de substituição polialfabética .
A Cipher Vigenère foi reinventada muitas vezes. O método foi originalmente descrito por Giovan Battista Bellaso em seu livro 1553 La Cifra Del. Sig. Giovan Battista Bellaso; No entanto, o esquema foi posteriormente atribuído a Blaise de Vigenère no século XIX e agora é amplamente conhecido como "Cipher Vigenère".
Embora a cifra seja fácil de entender e implementar, por três séculos, resistiu a todas as tentativas de quebrá -lo; Isso lhe rendeu a descrição le chiffre indiChiffrable (francês para 'a cifra indecifrável'). Muitas pessoas tentaram implementar esquemas de criptografia que são essencialmente cifras Vigenère. Friedrich Kasiski foi o primeiro a publicar um método geral de decifrar uma cifra Vigenère em 1863.
Na criptografia, uma cifra de transposição é um método de criptografia pelo qual as posições ocupadas por unidades de texto sem formatação (que geralmente são caracteres ou grupos de caracteres) são deslocadas de acordo com um sistema regular, de modo que o texto cifrado constitui uma permutação do texto simples. Ou seja, a ordem das unidades é alterada (o texto simples é reordenado).
Matematicamente, uma função bijetiva é usada nas posições dos caracteres para criptografar e uma função inversa para descriptografar.
O algoritmo de Luhn ou a fórmula de Luhn, também conhecida como algoritmo "Modulus 10" ou "MOD 10", é uma fórmula simples de soma de verificação usada para validar uma variedade de números de identificação, como números de cartão de crédito, números de IMEI, números de identificadores sociais do fornecedor nacional. Foi criado pelo cientista da IBM Hans Peter Luhn e descrito na patente dos EUA nº 2.950.048, arquivado em 6 de janeiro de 1954 e concedido em 23 de agosto de 1960.