![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
..
qq_45209973
这个作者很懒,什么都没留下…
展开
-
二叉树的深搜广搜的递归迭代
定义节点: a / \ c b / \ / \f g d efunction Node(value) { this.value = value; this.left = null; this.right = null;}const a = new Node('a')const b = new Node('b')const c = new Node('c')const d = new Node('d')const e原创 2020-08-18 00:05:02 · 321 阅读 · 1 评论 -
js链表,约瑟夫斯环
function Node(value) { this.value = value; this.next = null;}class List { constructor() { this.head = new Node(1); // 直接令头指针值为 1 this.head.next=this.head; } ...原创 2020-03-10 22:30:37 · 62 阅读 · 0 评论 -
js实现KMP算法,浅显易懂
开始开始看了很多遍视频,一直一脸懵逼,然后看了几篇博客文章,一i边比较,一边自己码,总算理解了。首先,KMP算法是用来干什么的?用来匹配字符串,如果匹配,返回索引值。其次,为什么要用KMP算法?因为能简化时间复杂度(废话,算法都是用来提升效率的)。然后,KMP算法是以什么方式简化时间复杂度的?一般我们匹配字符串可以用正则表达式,或者拿这个字符串与目标字符串一个个比较,那么就有一个问题...原创 2020-03-13 17:59:03 · 403 阅读 · 0 评论 -
栈实现中缀转后缀,并用逆波兰方式计算
stack.jsclass Stack { constructor(){ // dataStore 保存所有数据 this.dataStore=[]; // top 指示可以添加数据的“位置” this.top=0; } // 当然定义栈自己的push 方法,并让顶指针加一 push(elem){ ...原创 2020-03-10 12:34:56 · 109 阅读 · 0 评论 -
用栈实现括号匹配,并返回括号不匹配或缺失位置
基本思路:使用用两个栈,一个存储所有字符,一个只存储括号s1入栈所有字符而遇到前括号,入栈s2;遇到后括号,查看s2最顶部的括号是否匹配若匹配则让s2出栈该后括号匹配的前括号,即最顶部的括号若不匹配,则返回括号不匹配或缺失的位置stack.js:// stack.jsclass Stack { constructor(){ // dataStore 保存...原创 2020-03-10 12:10:02 · 990 阅读 · 0 评论