![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 57
噢咿呀
这个作者很懒,什么都没留下…
展开
-
JavaScript描述---二叉查找树
二叉查找树二叉树二叉查找树一、二叉查找树的构造二、二叉查找树的遍历1. 先序遍历2. 中序遍历3. 后序遍历三、二叉查找树---查找节点1. 查找最大值和最小值2.查找给定值四、二叉查找树---删除节点1. 没有左右子节点时2. 存在左节点或者右节点时3. 同时存在左右子节点二叉树二叉树每个节点的子节点不允许超过两个。二叉查找树二叉查找树是一种特殊的二叉树,相对较小的值保存在左节点中,较大的值保存在右节点中。一、二叉查找树的构造function Node(data, left, rig原创 2021-05-12 22:38:52 · 281 阅读 · 0 评论 -
JavaScript描述---链表
1.单向链表数组的缺点单向链表的特点单向列表方法单向列表实现2.双向链表单向列表的缺点双向列表的特点双向列表方法双向列表实现1.单向链表数组的缺点(1)数组的长度是固定的,因此当数组已被数据填满时,再要加入新的元素就会非常困难;(2)数组删除和添加元素时,需要将数组中的其他元素向前或向后平移;在JavaScript中,数组被实现成了对象,使用splice()方法可不需要访问数组中的其他元素,但是效率很低。单向链表的特点(1)链表的链接方向是单向的,对链表的访问要通过顺序读取.原创 2021-04-21 12:05:53 · 91 阅读 · 0 评论 -
JavaScript描述---队列
队列的特点:队列是一种先进先出(First in First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。队列的操作方法:push():向队尾添加元素shift():删除队首元素toString():显示队列中的所有元素队列的实现function Queue(){ this.dataStore=[]; this.enqueue=enqueue; this.dequeue=dequeue; this.front=front; this.back=..原创 2021-04-20 20:49:01 · 87 阅读 · 0 评论 -
JavaScript描述---栈的实现
栈是一种“先进后出”的数据结构,顾名思义,最先进入栈的元素最后出栈。栈的操作方法主要有push()、pop()、peek()和clear()。其中,push()方法将一个元素压入栈,pop()方法将一个元素弹出栈,peek()方法返回栈顶元素,clear()方法清除栈内所有元素。另外,使用top变量记录栈顶元素的位置,当栈内压入一个元素时,top值加一,反之减一。栈的实现代码如下:function Stack(){ this.dataStore=[];//保存栈内元素,初始为空 this.top.原创 2021-04-10 22:30:24 · 107 阅读 · 0 评论 -
贪心算法
贪心算法算法描述顾名思义,贪心算法或贪心思想采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。举一个最简单的例子:小明和小王喜欢吃苹果,小明可以吃五个,小王可以吃三个。已知苹果园里有吃不完的苹果,求小明和小王一共最多吃多少个苹果。在这个例子中,我们可以选用的贪心策略为,每个人吃自己能吃的最多数量的苹果,这在每个人身上都是局部最优的。又因为全局结果是局部结果的简单求和,且局部结果互不相干,因此局部最优的策略也同样是全局最优的策略。分配问题455.分发饼干var find原创 2021-03-14 14:46:08 · 87 阅读 · 0 评论 -
JavaScript描述---二维数组
创建二维数组在JavaScript中创建二维数组,需要先创建一个数组,然后让数组的每一个元素也是一个数组。例如:通过循环执行顺序为5*5的二维数组,数组元素为1到25的自然数var arr = new Array(5);var k = 1;for(var i = 0; i < 5; i++){ arr[i] = new Array(); for(var j = 0; j < 5; j++){ arr[i][j] = k; k++; document.write(arr[原创 2021-04-08 16:36:40 · 234 阅读 · 0 评论 -
JavaScript描述---一维数组
文章目录使用数组创建数组访问数组元素数组方法查找元素将数组转为字符串在已有数组的基础上生成新数组添加元素删除元素元素排序迭代器方法不生成新数组的迭代器方法生成新数组的迭代器方法深拷贝和浅拷贝使用数组创建数组通过new创建数组var arr=new Array(100,true,"hello");//数组中的元素不必是同一类型省略new运算符创建数组var arr= Array(100,true,"hello");【注】上述两种方法,传入参数只有一个并且是数字时,直接声明这么长的一个数组原创 2021-04-08 16:01:30 · 885 阅读 · 0 评论