《学习JavaScript数据结构与算法》笔记---树 本文源码 这里什么是树 1.一种非线性结构,由n(n>=1)个有限节点组成的有层次关系的集合2.如下图:3.HTML的所有dom节点其实就是一棵dom树,如图 2019-09-16 技术笔记 JavaScript 数据结构
《学习JavaScript数据结构与算法》笔记---哈希表 本文源码 这里理论特点 1.基于数组创建的一种数据结构2.存储元素时,对每一个元素通过哈希函数,进行哈希化后存储3.存储后的这个数组就叫做哈希表(HashTable,也有叫散列表的) 和数组对比 优点 比数组更快的查找速度(因为删除,修改基于查找所以效率也提高) 缺点 key值不可以重复哈希表没有顺序,不能以一定的顺序遍历 2019-09-10 技术笔记 JavaScript 数据结构
《学习JavaScript数据结构与算法》笔记---集合 本文源码 这里概念 集合是由一组*无序**且唯一***的项组成的。 可以理解成一种特殊的数组 1.特殊在里面的元素没有顺序,不能重复 2.没有顺序意味着不能通过下标访问,不能重复意味着相同对象在集合中只存一份 和数学中的集合一样,也有并集、交集、差集、子集的概念。 2019-09-04 技术笔记 JavaScript 数据结构
《学习JavaScript数据结构与算法》笔记---(双向)链表 本文源码 这里和单向链表区别1.每个节点有两个指针,一个指向上一个节点,一个指向下一个节点2.除过链表头head还多了一链表尾tail属性 双向链表的优点1.从双向链表中的任意一个结点开始,都可以很方便地访问它的前节点和后节点,单向链表都得从第一个节点开始2.既可以从头遍历,又可以从尾部遍历 双向链表的缺点1.每次插入删除节点时,需要处理四个引用2.相比较单向链表,存储空间要求更大 2019-09-03 技术笔记 JavaScript 数据结构