![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
es6-algorithm
一汀程序狗
来自中科大的研究生一枚,初入职场,正在努力进阶中~
展开
-
es6-algorithm 之 Stack
Stack栈的概念 我们知道栈是一种常用的后进先出(LIFO)的有序集合。栈的实际应用其实非常广泛。比如javascript执行时会形成调用栈,在内存里就是栈的结构。比如处理递归程序,有可能抛出一个栈溢出异常。常见算法里,回溯问题用栈存储访问过的任务或路径,进制转换算法可以用栈实现。 Stack栈的实现 首先创建Stack, Stack一般有 push(插入数据),pop(删除栈顶一条数据)...原创 2018-06-07 18:49:45 · 423 阅读 · 0 评论 -
es6-algorithm 之 Fibonacci 尾调用优化
今天无意中翻到闰土大叔的一篇推文,关于面试题斐波拉契数列,求第n项的值,如第1000位。 首先它的特征长这样: 1,2,3,5,8,13,21,34… 常见的方案是这样的: const f = (n) => { if(n === 0) return 0; if(n === 1) return 1; return f(n - 1) + f(n -2); } 聪明的你肯定能第...原创 2018-06-08 15:34:00 · 477 阅读 · 1 评论 -
es6-algorithm 之 Queue和应用
Queue的概念 我们知道队列是一种常用的先进先出(FIFO)的有序集合。队列的实际应用其实非常广泛。比如排队,event loop里的事件队列,优先队列,循环队列,操作系统中也大量运用队列。废话不多说,看看实现。 Queue队列的实现 首先创建Queue, Queue一般有 enqueue(队列尾部插入一条数据),dequeue(删除队列第一条数据,也就是最先进来的那条), front(获...原创 2018-06-15 19:16:39 · 504 阅读 · 0 评论 -
es6-algorithm 之 链表linkedList
实现如下 class Node { constructor (ele) { this.element = ele this.next = null } } const linkedList = (() => { class linkedList { constructor () { this.head = null this.l...原创 2018-06-25 18:34:43 · 424 阅读 · 0 评论