
js数据结构
亦是木子也是雨
一个记笔记的地方
展开
-
二叉搜索树
文章目录二叉搜索树的常见操作插入数据查找数据查找最小值 min查找某个值是否存在 search(key)遍历数据(递归便利)先序遍历中序遍历后序遍历先序遍历(非递归)中序遍历(非递归)后序遍历(非递归)层次遍历删除数据二叉搜索树的常见操作insert:向树中插入一个新的键;search:在树中查找一个键,如果节点存在,则返回true;如果不存在,则返回false;preOrderTraverse:通过先序遍历方式遍历所有节点(递归);inOrderTraverse:通过中序遍历方式遍历所有节点(原创 2020-10-11 20:38:20 · 531 阅读 · 0 评论 -
数组常见方法总结
数组数组的特点默认值是 undefined,当访问数组中不存在的索引时,会返回 undefined,而不是报错数组的大小不固定,会自动的进行扩容可以存储不同类型的数据分配给数组的存储空间是不连续的,哈希映射或链表传送门数组也是一个特殊的对象,对象有的方法数组也具有数组的创建字面量var arr = [1, 2, 3, 4];构造器构造var arr1 = new Array(1, 2, 3, 4); // [1, 2, 3, 4]var arr2 = new Array(10)原创 2020-10-04 10:43:57 · 229 阅读 · 0 评论 -
字典(map)
字典的简单封装,key 为对象时暂时没有做处理,后续会处理class Dictionay { constructor() { this.items = {}; } set(key, value) { this.items[key] = value; } has(key) { return this.items.hasOwnProperty(key); } remove(key) { if (!this.has(key)) {原创 2020-07-25 21:49:19 · 199 阅读 · 0 评论 -
集合(set)
简介集合是由一组无序的、不能重复的元素构成,和数学中的集合相比,计算机中的集合是要求元素是不能重复的,但是在数学中的集合趋势可以的。集合其实也是特殊的数组,和数组最大的区别就是:集合里面的元素是没有顺序且不能重复的没有顺序意味着不能通过下标值进行访问不能重复意味着相同的对象在集合中只会存在一份因为集合中的元素是不能重复的,我们正好可以利用对象的属性是不能重服的这一特点,进行集合的封装集合的常见操作由于 es6 中 Set常见的操作自己封装的操作add(value):向集合添加一个原创 2020-07-13 15:46:08 · 271 阅读 · 0 评论 -
单向链表、双向链表
单向链表链表和数组一样,都可以用于存储一系列的元素。链表的每个结点(最后一个结点除外)由一个存储元素本身的结点的数据和一个指向下一个元素的引用(指针)组成。这有点类似于一个火车,火车的每节车厢都装着自己的东西并连接着下一节车厢(最后一节车厢除外)。链表通常有一个head 属性(头指针)一直指向第一个结点,最后一个结点指向 null数组与链表的对比数组内存中是一块连续的空间,一般需要提前分配固定的空间大小,空间利用率不高在数组的起始位置插入和删除数据效率低,改变一个数据需要移动后续所有的数据原创 2020-07-12 20:51:54 · 682 阅读 · 0 评论 -
队列(Queue)、优先队列、双端队列
队列的简介队列和栈一样,也是一种运算受限的线性表(线性结构),它只允许在表的前端(front)进行删除操作,在表的后端(rear)进行插入操作。它的特点是先进先出(FIFO)队列的具体表现生活中学校餐厅中,先来排队的人先买饭,后来的人排在先来的人的前面计算机中打印队列:当打印多个文件时,就需要排队打印线程队列:开启多线程时,当新开启的线程所需要额资源不足的时候就会放入线程队列,等待CPU的处理另外还有消息缓冲器、邮件缓冲器、操作系统资源管理等普通队列只允许在表的前端进行删除操作,在原创 2020-07-08 11:53:04 · 1426 阅读 · 1 评论 -
栈
栈的简介栈是一种运算受限的线性表(线性结构),它只允许在表的一端(栈顶)进行进行插入和删除运算,另一端是栈底,栈它的特点是后进先出(LIFO)一个栈如图所示入栈出栈栈的具体表现生活中生活中,餐厅里面叠放在一起的盘子,刚放上去的,往往会被最先拿走程序中函数调用栈:假设函数A中调用函数B,函数B中又调用了函数C,函数C中还调用了函数D;在函数A执行的过程中会将函数A压入栈;随后轮到函数B执行时,也会将函数B压入栈。另外函数C和D执行时也都会被压入栈。所以当前栈的顺序为:A->B原创 2020-07-07 15:10:01 · 230 阅读 · 0 评论