数据结构
一一一一一一一一一二
这个作者很懒,什么都没留下…
展开
-
js数据结构------双向链表
一 .认识双向链表 单向链表: 之前说了单向链表,单向链表在插入和删除数据的时候效率会比数组快很多,但是在进行查找操作时效率就比较低,因为单向链表只能从头遍历到尾或者从尾遍历到头,也就是链表相连的过程是单向的。比如说当前的节点要到下一个节点是很容易的,但是要到上一个节点,就必须从头开始再次遍历。 为了解决单向链表只能从头遍历到尾的问题,就引出了双向链表。 双向链表: 双向链表相连的过程是双向的, ...原创 2020-01-03 10:24:24 · 113 阅读 · 0 评论 -
js数据结构------单向链表
在数据结构中要存储多个元素,除了数组另一个就是链表,不同于数组的是,链表不需要连续的内存空间,不必在创建时就确定大小,链表大小可以无限延伸,在插入和删除数据时,效率会高很多,但是链表在访问任何一个位置的数据时都需要从头开始访问,在查找方面效率会比较低。 链表的每个元素有一个储存元素本身的节点和一个指向下一个元素的引用组成。 对单向链表进行封装: function LinkedList() { ...原创 2019-12-29 20:43:51 · 127 阅读 · 0 评论 -
js数据结构 ------优先队列
普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征。它的一个数据项里面包含优先级和数据。 封装优先队列的代码实现: function PriorityQueue() { //在PriorityQueue里面创建了一个...原创 2019-12-29 20:33:28 · 132 阅读 · 0 评论 -
js数据结构------队列
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队...原创 2019-12-22 15:49:51 · 106 阅读 · 0 评论 -
js数据结构------栈
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 先来做一个简单的关于栈的题 有六个元素6,5,4,3,2,1的顺序进栈,下列哪...原创 2019-12-22 11:38:15 · 113 阅读 · 0 评论