- 博客(5)
- 收藏
- 关注
原创 js数据结构笔记--树结构
树结构 树的优点 我们学习了多种数据结构来保存数据,为什么要用树结构来保存数据呢? 树结构和数组/链表/哈希表的对比有什么优点呢? 数组 优点:能根据下标值访问效率高,若根据元素查找要先对数组排序,在进行二分查找; 缺点: 需要对数组排序,生成有序数组;在数值插入和删除操作时,需要大量的位移操作,效率较低; 链表 优点: 插入和删除操作效率很高; 缺点:查找效率较...
2019-10-14 12:04:59
228
原创 js数据结构4--哈希表
哈希表 认识哈希表 哈希表是基于数组实现的,数组相对的劣势有: 插入和删除效率低; 基于内容查找效率也不高; 哈希表的优势 : 提供快速的插入-删除-查找操作 O(1)的时间级,只需要几个机器指令完成; 速度比树还快,编码更容易。 哈希表的劣势: 数据是没有顺序的,不能用特定顺序的方式遍历元素; 哈希表的key不能重复。 那么哈希表到底是什么呢?它的结构...
2019-10-11 20:19:19
219
原创 js数据结构笔记3--集合
集合结构 集合是由一组无序的,不能重复的元素组成; 数学中集合范围更大,允许集合中的元素重复; 计算机中,集合表示的结构中是不允许重复的。 特殊的数组 元素无顺序,不能重复; 不能通过下标值访问,相同的对象只有一份; 封装一个集合类 ES6里面包含了Set类,我们可以直接使用它,这里自己我们封装一个Set类。 function Set() { this....
2019-10-11 20:16:16
147
原创 js数据结构2--链表
链表 链表与数组 存储多个元素,数组可能是最常用的数据结构 数组的缺点 数组的创建需要申请一段连续的内存空间,并且大小是固定的。(大多数语言数组是固定的)。当数组不能满足容量需求时,需要扩容。 数组的开头或中间位置插入数据的成本很高,需要进行大量元素的位移。 javascriptd的Array类的方法背后的原理原理就是这样。 链表的优势 链表中的元素在内存中不必是连续的空间。 链...
2019-10-08 13:02:13
146
原创 js数据结构笔记1--栈,队列
js数据结构笔记1--栈,队列什么是数据结构?什么是算法?数组栈结构队列优先级队列 什么是数据结构?什么是算法? 数据结构:计算机中,存储和组织数据的方式。 算法(Algorithm):解决问题的办法/逻辑。数据结构的实现,离不开算法。 数组 一种线性结构,并且可以在数组的任意位置插入和删除数组。 有时候为了实现某些功能,要对任意性加以限制。 栈和队列就是常见的受限的数据结构 栈结...
2019-10-06 18:32:23
295
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人