数据结构与算法
magic-fish
熟悉vue3,TypeScript,html5,css3等。在校期间参加过国家级和省级外包大赛,均获得过三等奖。目前正在工作,闲暇时深入前端的学习。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《数据结构与算法JavaScript描述》图和图算法(学习笔记C11)
图和图算法相关概念代码未完待续相关概念1.图由边的集合及顶点的集合组成。2.顶点也有权重,也称为成本。3.如果一个图的顶点对是有序的,则可以称之为有向图。有向图表明了顶点的流向。4. 如果图是无序的,则称之为无序图,或无向图。5.图中的一系列顶点构成路径,路径中所有的顶点都由边连接。6.路径的长度用路径中第一个顶点到最后一个顶点之间边的数量表示。7.由指向自身的顶点组成的路径称为环,环的长度为 0。8.圈是至少有一条边的路径,且路径的第一个顶点和最后一个顶点相同。9.无论是有向图还是无原创 2020-06-04 09:13:48 · 440 阅读 · 0 评论 -
《数据结构与算法JavaScript描述》二叉树和二叉查找树(学习笔记C10)
二叉树和二叉查找树相关概念代码相关概念1.树是一种非线性的数据结构,以分层的方式存储数据。2.树被用来存储具有层级关系的数据,比如文件系统中的文件;树还被用来存储有序列表。3.选择树而不是那些基本的数据结构,是因为在二叉树上进行查找非常快(而在链表上查找则不是这样),为二叉树添加或删除元素也非常快(而对数组执行添加或删除操作则不是这样)。4.二叉树是一种特殊的树,它的子节点个数不超过两个。5.二叉查找树是一种特殊的二叉树,相对较小的值保存在左节点中,较大的值保存在右节点中。代码// 二叉原创 2020-06-03 17:25:24 · 221 阅读 · 0 评论 -
《数据结构与算法JavaScript描述》散列(学习笔记C08)
散列相关概念代码未完待续P94相关概念1.散列是一种常用的数据存储技术,散列后的数据可以快速地插入或取用。2.散列使用的数据结构叫做散列表。3.在散列表上插入、删除和取用数据都非常快,但是对于查找操作来说却效率低下。4.我们的散列表是基于数组进行设计的。5.使用散列表存储数据时,通过一个散列函数将键映射为一个数字,这个数字的范围是 0 到散列表的长度。代码// 散列// 数组的长度需要是质数// HashTable类(表示散列表)function HashTable() {原创 2020-06-03 17:04:29 · 348 阅读 · 0 评论 -
《数据结构与算法JavaScript描述》字典(学习笔记C07)
字典相关概念代码相关概念1.字典是一种以键 - 值对形式存储数据的数据结构。2.JavaScript 的 Object 类就是以字典的形式设计的。代码// 字典// 以Array类为基础实现Dictionary类// 定义Dictionary类function Dictonary() { this.datastore = new Array() this.add = add this.find = find this.remove = remove原创 2020-06-03 14:36:11 · 250 阅读 · 0 评论 -
《数据结构与算法JavaScript描述》链表(学习笔记C06)
链表相关概念代码力扣相关题目相关概念1.如果你发现数组在实际使用时很慢,就可以考虑使用链表来替代它。因为,JavaScript 中数组的主要问题是,它们被实现成了对象,与其他语言(比如 C++ 和 Java)的数组相比,效率很低2.链表是由一组节点组成的集合。3.每个节点都使用一个对象的引用指向它的后继。4.指向另一个节点的引用叫做链。5.数组元素靠它们的位置进行引用,链表元素则是靠相互之间的关系进行引用。代码// 1.基础链表// Node类表示节点// LinkedList类原创 2020-06-03 14:24:22 · 235 阅读 · 0 评论 -
《数据结构与算法JavaScript描述》队列(学习笔记C05)
队列相关概念代码相关概念队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。队列是一种先进先出(First-In-First-Out,FIFO)的数据结构。入队操作在队尾插入新元素,出队操作删除队头的元素。peek()读取队头的元素。代码// 队列--先进先出--FIFO// 常规操作:// 入队// 出队// 返回队头元素 peek()// length// clear()// 底层实现结构--数组// 数组: push() 末尾添加元素// 数组: shi原创 2020-06-03 13:51:11 · 240 阅读 · 0 评论 -
《数据结构与算法JavaScript描述》栈(学习笔记C04)
栈相关概念代码力扣相关题目相关概念1.栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈顶。2.栈被称为一种后入先出(LIFO,last-in-first-out)的数据结构。3.入栈使用 push() 方法,出栈使用 pop() 方法,peek() 方法则只返回栈顶元素(预览栈顶元素不删除)。代码// 栈的实现// 常规操作: // 压入栈 push()// 弹出栈 pop()// 预览栈顶 peek()// 顶元素位置 变量 top// 清除栈内所有元素 cl原创 2020-06-03 13:32:02 · 170 阅读 · 0 评论 -
《数据结构与算法JavaScript描述》列表(学习笔记C03)
列表相关概念代码相关概念1.列表是一组有序的数据。2.每个列表中的数据项称为元素。3.在 JavaScript 中,列表中的元素可以是任意数据类型。4.列表中可以保存多少元素并没有事先限定,实际使用时元素的数量受到程序内存的限制。5.不包含任何元素的列表称为空列表。6.列表中包含元素的个数称为列表的 length。代码// 实现列表类function List() { this.listSize = 0 // 列表元素个数 this.pos = 0 // 列表的当前位原创 2020-06-03 11:15:40 · 210 阅读 · 0 评论
分享