数据结构与算法
文章平均质量分 73
向上的二狗
这个作者很懒,什么都没留下…
展开
-
JavaScript 数据结构与算法(七)双向链表
JavaScript 数据结构与算法(七)双向链表单向链表和双向链表单向链表只能从头遍历到尾或者从尾遍历到头(一般从头到尾)。 链表相连的过程是单向的,实现原理是上一个节点中有指向下一个节点的引用。 单向链表有一个比较明显的缺点:可以轻松到达下一个节点,但回到前一个节点很难,在实际开发中, 经常会遇到需要回到上一个节点的情况。双向链表既可以从头遍历到尾,也可以从尾遍历到头。 链表相连的过程是双向的。实现原理是一个节点既有向前连接的引用,也有一个向后连接的引用。 双向链表可以有效的解原创 2021-09-14 23:17:07 · 100 阅读 · 0 评论 -
JavaScript 数据结构与算法(八)集合
JavaScript 数据结构与算法(八)集合集合几乎每种编程语言中,都有集合结构。集合比较常见的实现方式是哈希表,这里使用 JavaScript 的 Object 进行封装。集合特点 集合通常是由一组无序的、不能重复的元素构成。 数学中常指的集合中的元素是可以重复的,但是计算机中集合的元素不能重复。 集合是特殊的数组。 特殊之处在于里面的元素没有顺序,也不能重复。 没有顺序意味着不能通过下标值进行访问,不能重复意味着相同的对象在集合中只会存在一份。 封装集原创 2021-09-15 09:34:17 · 60 阅读 · 0 评论 -
JavaScript 数据结构与算法(九)字典
JavaScript 数据结构与算法(九)字典字典字典特点字典存储的是键值对,主要特点是一一对应。 比如保存一个人的信息 数组形式:[19,"Tom", 1.65],可通过下标值取出信息。 字典形式:{"age": 19, "name": "Tom", "height": 165},可以通过key取出value。 此外,在字典中 key 是不能重复且无序的,而 Value 可以重复。字典和映射的关系有些编程语言中称这种映射关系为字典,如 Swift 中的Dictona...原创 2021-09-15 10:47:20 · 143 阅读 · 0 评论 -
JavaScript 数据结构与算法(六)单向链表
目录JavaScript 数据结构与算法(六)单向链表认识链表链表和数组单向链表链表中的常见操作单向链表的封装JavaScript 数据结构与算法(六)单向链表认识链表链表和数组链表和数组一样,可以用于存储一系列的元素,但是链表和数组的实现机制完全不同。数组 存储多个元素,数组(或列表)可能是最常用的数据结构。 几乎每一种编程语言都有默认实现数组结构,提供了一个便利的[]语法来访问数组元素。 数组缺点: 数组的创建需要申请一...原创 2021-09-13 00:43:05 · 136 阅读 · 0 评论 -
JavaScript 数据结构与算法(五)优先队列
目录JavaScript 数据结构与算法(五)优先队列场景优先队列优先队列的实现代码实现测试代码数组、栈和队列图解JavaScript 数据结构与算法(五)优先队列场景生活中类似优先队列的场景:优先排队的人,优先处理。 (买票、结账、WC)。 排队中,有紧急情况(特殊情况)的人可优先处理。优先队列优先级队列主要考虑的问题:每个元素不再只是一个数据,还包含优先级。 在添加元素过程中,根据优先级放入到正确位置。优先队列的实现代码实现//...原创 2021-09-12 00:55:19 · 119 阅读 · 0 评论 -
JavaScript 数据结构与算法(四)队列
目录JavaScript 数据结构与算法(四)队列认识队列队列图解队列在程序中的应用队列的实现队列常见的操作代码实现测试代码队列的应用代码实现测试代码JavaScript 数据结构与算法(四)队列认识队列队列(Queue)是一种运算受限的线性表,特点:先进先出。(FIFO:First In First Out)受限之处:只允许在表的前端(front)进行删除操作。 只允许在表的后端(rear)进行插入操作。生活中类似队列结构的场景:...原创 2021-09-10 16:55:07 · 90 阅读 · 0 评论 -
JavaScript 数据结构与算法(三)栈
目录JavaScript 数据结构与算法(三)栈什么是栈程序中的栈结构练习栈结构实现栈常见的操作JavaScript 代码实现栈结构测试封装的栈结构栈结构的简单应用代码实现测试JavaScript 数据结构与算法(三)栈数组是一个线性结构,并且可以在数组的任意位置插入和删除元素。 但是有时候,我们为了实现某些功能,必须对这种任意性加以限制。 栈和队列就是比较常见的受限的线性结构。什么是栈栈(stack)是一种运算受限的线性表:LIFO(la..原创 2021-09-10 00:32:02 · 145 阅读 · 0 评论 -
JavaScript 数据结构与算法(二)数组
目录JavaScript 数据结构与算法(二)数组创建和初始化数组数组常见操作添加元素删除元素修改元素JavaScript 数据结构与算法(二)数组几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构。 数组通常情况下用于存储一系列同一种数据类型的值。 但在 JavaScript 里,数组中可以保存不同类型的值。但我们还是要遵守最佳实践,别这么做(大多数语言都没这个能力)。创建和初始化数组 new Array() const daysOf...原创 2021-09-10 00:10:48 · 65 阅读 · 0 评论 -
JavaScript 数据结构与算法(一)前言
JavaScript 数据结构与算 目录 JavaScript 数据结构与算法(一)前言 什么是数据结构? 数据结构的定义 数据结构在生活中应用 常见的数据结构 什么是算法? 算法(Algorithm)的定义 算法通俗理解 算法案例 JavaScript 数据结构与算 JavaScript 数据结构与算法(二)数组 JavaScript 数据结构与算法(三)栈 JavaScript 数据结构与算法(四)队列 JavaScript 数据结构与算法(五)优原创 2021-09-09 23:50:20 · 88 阅读 · 0 评论