数据结构
jiaody111
这个作者很懒,什么都没留下…
展开
-
数据结构7--二叉搜索树和二叉平衡树
1.二叉搜索树的特点 (BST, Binary Search Tree)非空左子树的所有键值小于其根节点的键值非空右子树的所有键值大于其根系欸但的键值左、右子树本身也是二叉搜索树...原创 2020-03-02 00:53:13 · 422 阅读 · 0 评论 -
数据结构6--树和二叉树
数组优点:按照下标值访问,效率高缺点:如果希望根据元素查找对应的位置,需要对数组进行排序生成有序数组,才能提高查找效率。另外向数组的首位或中间位置插入或者删除元素时,需要有大量的位移操作。链表优点:插入和删除操作效率都很高缺点:查找效率很低,每次都要从头开始依次访问链表中的数据项。另外,如果要删除或者插入中间位置的元素,还是需要从头开始找到对应的数据哈希表优点:插入 删除和查找效率...原创 2020-03-01 00:57:00 · 479 阅读 · 0 评论 -
数据结构5--集合
集合中的元素:无序,不能重复集合类似于set//封装setfunction Set(){ this.items = {} //查找 Set.prototype.has = function(value){ return this.items.hasOwnProperty(value); } //添加 Set.prototype...原创 2020-02-29 15:26:16 · 564 阅读 · 0 评论 -
数据结构4--双向链表
单向链表的缺点:只能单向遍历,根据当前节点能找到下一个节点,但是很难找到上一个节点双向链表:参考文章有头节点head和尾节点tailfunction DoubleLinkedList() { this.length = 0;//链表长度 this.headerNode = null;//头节点 this.tailNode = null;//尾节点 fu...原创 2020-02-29 01:38:23 · 484 阅读 · 0 评论 -
数据结构2--链表
数组的特点:数组的创建通常需要申请一段连续的内存空间(一整块的内存), 并且大小是固定的(大多数编程语言数组都是固定的),如果当前数组不能满足容量需求时, 需要扩容。(一般情况下是申请一个更大的数组, 比如2倍. 然后将原数组中的元素复制过去)。链表的特点:链表中的元素在内存中不必是连续的空间,可以充分利用计算机的内存实现灵活的内存动态管理。链表的每个元素由一个存储元素本身的节点和...原创 2020-02-28 22:59:00 · 451 阅读 · 0 评论 -
数据结构1--栈和队列
栈在栈顶删除和插入 后进先出参考文章//封装一个栈function Stack(){ this.items = []; Stack.prototype.push = function(ele){ //向栈顶插入元素 this.items.push(ele); }; Stack.prototype.pop = functi...原创 2020-02-28 18:13:36 · 354 阅读 · 0 评论