240 发简信
IP属地:湖北
  • javaScript数据结构和算法--快速排序

    快速排序时最常用的排序算法,和归并排序一样也是采用分治方法,但没有把数组分割开,也是将原数组分成较小的数组。 1、从数组的中间选择一项作为主元。 2、创建两个指针,left ...

  • javaScript数据结构和算法--归并排序

    归并排序是一种分治算法,分而治之,将原始数组拆分成最小粒度的数组(数组的长度是1),接着将这些小数组进行归并(merge),直到成为一个排序好的大数组。 归并排序代码实现: ...

  • javaScript数据结构和算法--插入排序

    插入排序每次排一个数组项,类似平时抓牌的模式,假设第一项已经是排好序的,接着第二项和第一项比较,如果第二项比第一项小,则第二项插入第一项,以此类推,选中接下来的数,和前面已经...

  • javaScript数据结构和算法--选择排序

    选择排序是一种比较原址的比较排序算法。先找到数据结构中最小值并放在第一位,接着找到第二小的值放在第二位 选择排序的算法实现: function SelectSort() { ...

  • javaScript数据结构和算法--冒泡排序

    冒泡排序比较任何两个相邻的数,如果第一个数比第二个数大,则交换这两个数,元素向上移动至正确的位置。 冒泡排序的算法实现: function BubbleSort() { ...

  • javaScript数据结构--散列表

    散列集合是由一个集合构成,但是插入、移除、或获取元素时,使用的是散列函数 散列表的代码实现 // 散列表 function LinkedList() { var Node...

  • javaScript数据结构--字典

    在字典中存储的值是【键、值】对,字典和集合很相似,集合以【值、值】的形式存储。字典也称作映射。 字典的代码实现: function Dictionary() { var ...

  • javaScript数据结构--集合

    集合是由一组无序且唯一的项组成的: 集合可以进行 并集、交集、差集、子集操作。 集合的代码实现: function Set() { var items = {}; t...

  • javaScript数据结构--双向链表

    双向链表和普通链表的区别是,普通链表中一个节点只有一个next指针指向下一个节点,双向链表有2个指针,一个指向下一个节点,一个指向前面一个节点。 双向链表的代码实现: fun...

  • javaScript数据结构--链表

    实现一个链表还需要一个辅助的类:Node,Node对象有2个属性,element :当前元素;next:指向下一个对象的指针。 链表的实现: function LinkedL...

  • javaScript数据结构--优先队列

    元素的添加是基于优先级的。 function PriorityQueue() { var items = []; function QueueElement(elem...

  • javaScript数据结构--队列

    队列遵循FIFO(First In First Out, 先进先出)。常见的队列的例子就是排队 实现一个队列的数据结构: function Queue() { var i...

  • javaScript数据结构--栈

    栈是一种遵循后进先出(LIFO last in first out)原则的有序集合,新添加或待删除的元素都保存在栈的末尾,成为栈顶,另一端叫栈底。 实现一个栈的数据结构: f...