数据结构和算法
Sue_9293
这个作者很懒,什么都没留下…
展开
-
数据结构与算法(四)之树结构(偏向JS)
数据结构(四)说明:本文基于哔哩哔哩视频【JavaScript数据结构与算法】整理树(tree)概念:n(n>=0) 个节点构成的有限集合特性:非线性,一对多。查找较快概念术语:root:根,用 r 表示空树:n=0子树:subtree节点的度 degree :子树个数父节点,子节点,兄弟节点节点度: 子节点的个数树的最大度:树的深度叶子节点:没有子节点的节点路径和路径长度:路径包含的边为路径长度节点层次:规定 根节点在一层,其他的是其父节点加一树的深度:原创 2020-06-19 13:58:52 · 232 阅读 · 0 评论 -
数据结构与算法(四)之哈希结构(偏向JS)
数据结构(四)说明:本文基于哔哩哔哩视频【JavaScript数据结构与算法】整理哈希表(hash)它的结构是数组,是通过一种哈希函数将 hashcode,转化成数组的下标特性:相对于数组,优点:插入、查询和删除的操作,效率非常高;缺点:无序,不能重复,空间利用率不高;相关概念哈希化:将很大的数字转化成数组范围内下标的过程(取余操作);哈希函数:将单词转化为大数字hashcode(幂的连乘相加,避免重复),大数字再进行哈希化的代码,封装在一个函数里;优秀哈希函数的目标原创 2020-06-19 11:45:00 · 224 阅读 · 0 评论 -
数据结构与算法(三)之集合,字典(偏向JS)
数据结构(三)说明:本文基于哔哩哔哩视频【JavaScript数据结构与算法】整理集合(Set ) es6中包含的类)(通常由哈希表实现) ※ ※ ※ ※特点:无序(没有下标),不允许重复的数组(类似)图示:来自网络常见集合的操作add(value):向集合添加一个新的项。remove(value):从集合移除一个值。has(value):如果值在集合中,返回true,否则返回false。clear():移除集合中的所有项。size():返回集合所原创 2020-06-19 11:01:57 · 235 阅读 · 0 评论 -
数据结构与算法(二)之单向链表和双向链表(偏向JS)
数据结构(二)说明:本文基于哔哩哔哩视频【JavaScript数据结构与算法】整理链表(linked List)类似于数组(数组在有些语言叫链表)插入删除性能高相较于数组的优点: 内存不必要是一整块的内存空间(无序,没有下标),大小可以无限延伸链表内的元素由 元素本身和指向下一个元素的指针【引用或者连接】组成;相当于 火车,火车头+车厢+连接,每一节车厢和连接处相当链表中的元素常见的操作append(element):向列表尾部添加一个新的项insert原创 2020-06-19 10:36:56 · 256 阅读 · 0 评论 -
数据结构与算法(一)之数组,队列,栈(偏向JS)
数据结构(一)说明:本文基于哔哩哔哩视频【JavaScript数据结构与算法】整理一、基本概念:数据的组织方式二、生活中的实例:图书的摆放,快递分发三、常见的数据结构注意事项(操作性能不同:查询速度、插入、范围查找、重复性)※ ※※ ※ ※ 是重点,每个编程语言都提供的数据类型JS 是API的使用者,对数据结构接触不多;数组(Array) ※ ※ ※ ※ ※线性结构 查找性能较高(利用下标,有序)或者较低(基于内容)插入效率低操作: 长度原创 2020-06-19 10:10:47 · 275 阅读 · 0 评论