快速排序时最常用的排序算法,和归并排序一样也是采用分治方法,但没有把数组分割开,也是将原数组分成较小的数组。 1、从数组的中间选择一项作为主元。...
归并排序是一种分治算法,分而治之,将原始数组拆分成最小粒度的数组(数组的长度是1),接着将这些小数组进行归并(merge),直到成为一个排序好的...
插入排序每次排一个数组项,类似平时抓牌的模式,假设第一项已经是排好序的,接着第二项和第一项比较,如果第二项比第一项小,则第二项插入第一项,以此类...
选择排序是一种比较原址的比较排序算法。先找到数据结构中最小值并放在第一位,接着找到第二小的值放在第二位 选择排序的算法实现: function ...
冒泡排序比较任何两个相邻的数,如果第一个数比第二个数大,则交换这两个数,元素向上移动至正确的位置。 冒泡排序的算法实现: function Bu...
散列集合是由一个集合构成,但是插入、移除、或获取元素时,使用的是散列函数 散列表的代码实现 // 散列表 function LinkedList...
在字典中存储的值是【键、值】对,字典和集合很相似,集合以【值、值】的形式存储。字典也称作映射。 字典的代码实现: function Dictio...
集合是由一组无序且唯一的项组成的: 集合可以进行 并集、交集、差集、子集操作。 集合的代码实现: function Set() { var ...
双向链表和普通链表的区别是,普通链表中一个节点只有一个next指针指向下一个节点,双向链表有2个指针,一个指向下一个节点,一个指向前面一个节点。...