这些仅用于演示目的。 JavaScript标准库中有许多实现的实现,出于绩效原因而要好得多。
感谢您的thealgorithms:https://github.com/thealgorithms
从Wikipedia:气泡排序(有时称为沉没排序)是一种简单的排序算法,它反复逐步浏览要排序的列表,比较每对相邻的项目并在错误的顺序中交换它们。通过列表重复列表,直到不需要交换为止,这表明列表已排序。
特性
从Wikipedia:插入排序是一种简单的排序算法,一次构建最终排序的数组(或列表)一次。在大型列表中,它的效率要比更高级的算法(例如QuickSort,heapsort或Merge Sorts)少得多。
特性
来自Wikipedia:在计算机科学中,合并Sort(也是通常拼写的Mergesort)是一种有效的,通用的,基于比较的分类算法。大多数实现都会产生稳定的排序,这意味着该实现保留了排序输出中均等元素的输入顺序。 Mergesort是约翰·冯·诺伊曼(John von Neumann)于1945年发明的一种鸿沟和征服算法。
特性
来自Wikipedia:QuickSort(有时称为分区 - 交换排序)是一种有效的排序算法,它是将数组元素放在顺序上的系统方法。
特性
从Wikipedia:该算法将输入列表分为两个部分:已经排序的项目的sublist,这些内容是从列表的左侧(左)(左)构建的,以及剩下的项目的sublist将被列入其余的列表。最初,排序的sublist是空的,未分类的sublist是整个输入列表。该算法是通过在未排序的sublist中找到最小(或最大,取决于排序顺序)元素的最小(或最大的),将其交换(交换)与最左的未分类元素(以排序顺序)进行交换(交换),并将一个sublist边界移动到右侧。
特性
来自Wikipedia:Shellsort是插入排序的概括,可以交换相距遥远的项目。这个想法是安排元素列表,以便从任何地方开始考虑每个nth元素都会给出一个排序的列表。据说这样的清单是H级的。同等地,可以将其视为h交错列表,每个列表单独分类。
特性
比较排序算法的复杂性(气泡排序,插入排序,选择排序)
复杂度图
来自Wikipedia:线性搜索或顺序搜索是一种在列表中查找目标值的方法。它依次检查列表的每个元素的目标值,直到找到匹配或搜索所有元素为止。线性搜索在最糟糕的线性时间内运行,最多可以进行n比较,其中n是列表的长度。
特性
来自Wikipedia:二进制搜索,也称为半间隔搜索或对数搜索,是一种搜索算法,可以在排序的数组中找到目标值的位置。它将目标值与数组的中间元素进行比较;如果它们不平等,那么目标无法撒谎的一半将被消除,并且搜索持续到剩余的一半,直到成功为止。
特性
摘自Wikipedia:跳跃搜索或块搜索是指有序列表的搜索算法。它首先检查所有项目LKM,其中{ displayStyle k in mathbb {n}} k in mathbb {n} and m是块大小,直到发现一个项目大于搜索密钥。为了在列表中找到搜索键的确切位置,在Sublist L [(K-1)M,KM]上执行线性搜索。
特性
在密码学中,凯撒密码(也称为凯撒的密码),移位密码,凯撒的代码或凯撒移位是最简单,最广为人知的加密技术之一。
这是一种替代密码,其中授权中的每个字母被字母替换为字母的一些固定位置。例如,在左移3时,D将被A替换为A,E将变成B,依此类推。
该方法以朱利叶斯·凯撒(Julius Caesar)的名字命名,后者在他的私人信件中使用了它。
凯撒密码执行的加密步骤通常被合并为更复杂的方案的一部分,例如Vigenère密码,并且在Rot13系统中仍然具有现代应用。与所有单字替换密码一样,凯撒密码很容易被打破,在现代实践中,基本上没有通信安全。
Vigenère密码是一种通过基于关键字的字母使用一系列编织的凯撒密码来加密字母文本的方法。它是多性替代的一种形式。
Vigenère密码已经重新发明了很多次。该方法最初是由Giovan Battista Bellaso在1553年的La Cifra del中描述的。信号。 Giovan Battista Bellaso;但是,该计划后来在19世纪被误导到了布莱斯·德维内尔(Blaise deVigenère),现在被广泛称为“Vigenère密码”。
尽管密码易于理解和实施,但在三个世纪以来,它抵制了所有打破它的尝试。这使它赢得了le chiffreindéchiffrable的描述(法语为“难以理解的密码”)。许多人试图实施基本上是Vigenère密码的加密计划。弗里德里希·卡西斯基(Friedrich Kasiski)是第一个在1863年发布vigenère密码的一般方法。
在密码学中,换位密码是一种加密的方法,通过普通系统,通过宣传单位(通常是字符或字符的单位)所持的位置移动,因此密文构成了明文的置换。也就是说,单位的顺序已更改(重新订购了明文)。
从数学上讲,在字符的位置加密和解密的逆函数上,使用了徒函数。
Luhn算法或Luhn Formula,也称为“模量10”或“ MOD 10”算法,是一种简单的校验和公式,用于验证各种识别码,例如信用卡号,IMEI号,IMEI号,国家提供商的国家提供商标识符,美国,加拿大社会保险号,以色列ID,以色列ID和Greek社会安全编号和Greek社会安全编号。它是由IBM科学家汉斯·彼得·卢恩(Hans Peter Luhn)创建的,并在1954年1月6日提交的美国专利2,950,048中进行了描述,并于1960年8月23日授予。