随笔分类 - 数据结构/算法
数据结构/算法相关
摘要:参考: https://juejin.im/post/5a3200fe51882554bd5111a0 https://www.cnblogs.com/zhuzhenwei918/p/7271305.html https://juejin.im/post/5ad6182df265da23906c86
阅读全文
摘要:图 定义:图由边的集合及顶点的集合组成。顶点也有权重, 也称为成本。 如果一个图的顶点对是有序的, 则可以称之为有向图。在对有向图中的顶点对排序后, 便可以在两 个顶点之间绘制一个箭头。 有向图表明了顶点的流向。 如果图是无序的, 则称之为无序图, 或无向图。 图中的一系列顶点构成路径, 路径中所有
阅读全文
摘要:集合 集合(set) 是一种包含不同元素的数据结构。 集合中的元素称为成员。 集合的两个最重要特性是: 首先, 集合中的成员是无序的; 其次, 集合中不允许相同成员存在。 对集合的三个操作 + 并集 将两个集合中的成员进行合并, 得到一个新集合。 + 交集 两个集合中共同存在的成员组成一个新的集合。
阅读全文
摘要:散列 基于数组进行设计的数据结构 优点:可以快速插入,删除和取用数据 缺点:查找操作效率低下 在使用散列表存储数据时,通过一个 散列函数 将键映射为一个数字,这个数字的范围是0到散列表的长度。理想情况下从key到index应该是一一对应的,然而键的数量可以是无限的,而数组长度是有限的,因此一个更现实
阅读全文
摘要:字典 基于Array类构造一个字典类用于储存键值对~~(之前一直不知道JS的Array原来可以存储键值对,第一次看到简直惊呆了)~~ 暂时看到的内容挺简单的,不明白这个的存在意义是什么,感觉还不如直接用JSON来得直接。 直接上代码不解释。
阅读全文
摘要:链表 JS中数组被实现成了对象,对比其他语言的数组效率很低。因此可以考虑使用链表来替代。除了对数据的随机访问,链表几乎可以用在任何使用以为数组的情况中。如果需要随机访问,数组仍然是更好的选择。 单向链表 链表是由一组节点组成的集合。 每个节点都使用一个对象的引用指向它的后继。 指向另一 个节点的引用
阅读全文
摘要:排序二叉树 排序二叉树要求父节点的值大于左节点的值,小于右节点的值。 没有父亲节点的节点称为根节点,没有子节点的节点称为叶子节点,其他都称为中间节点。 用JS实现一个排序二叉树 遍历方式 1. 前序遍历(中间节点→左节点→右节点) 2. 中序遍历(左节点→中间节点→右节点) 3. 后序遍历(左节点→
阅读全文

浙公网安备 33010602011771号