算法
文章平均质量分 71
Y shǔ shǔ
程序员一枚 热爱敲代码
展开
-
JavaScript数据结构与算法---队列和双端队列
队列定义:队列是遵循 先进先出 原则的一种有序的项队列在尾部添加新的元素,并从顶部移除元素最新添加的元素必须排在队列的末尾队列最通俗的讲就是排队,生活中的排队,先排的人先去处理服务队列的实现:创建队列// count属性控制队列的大小// lowestCount属性追踪第一个元素class Queue { constructor() { this.count = 0 this.lowestCount = 0 this.ite原创 2021-05-08 16:11:43 · 262 阅读 · 0 评论 -
JavaScript数据结构与算法---栈
栈定义:栈 是一种遵循 后进先出 原则的有序集合我们把新添加或者删除的的元素都保存在栈的同一端,称为栈顶,而另一端就叫做栈底在栈里,新元素都靠近栈顶,旧元素都靠近栈底。在生活中可以比作为老式手电筒中的电池,最后放进去的一块肯定最先被拿出来。也可以比作进电梯,最先进去的人肯定在最里面,也就是最后一个出来。栈的实现一:创建一个基于数组的栈// 这里用一个类来表示class Stack { constructor() { this.items = [] }原创 2021-05-07 23:34:59 · 239 阅读 · 0 评论 -
JavaScript快速排序算法
快速排序法原理:首先要从一列数据中取出一个基准数小于这个基准数的全放到左边,大于等于这个基准数的全放到右边再对左右两个区间继续重复第2步,知道个区间只有一个数字最后将有序的区间合并起来即可代码实现: const arr = [31, 34, 23, 2, 15, 67, 54, 99] function quickSort(arr) { // 1.找基准数,并且将小于等于基准数的全部放到左边(左数组) // 将大于等于基准数的全部放到右边(右数组)原创 2021-04-18 23:59:08 · 142 阅读 · 0 评论 -
js实现深度优先搜索(DFS)和广度优先搜索(BFS)
深度优先搜索(DFS)首先构造一个我们需要遍历的结构,这里用html演示<div id="root"> <p></p> <label></label> <ul> <li> <span></span> </li> <li></li>原创 2021-04-05 23:12:47 · 4524 阅读 · 12 评论