跳到主要内容

3 篇博文 含有标签「数据结构与算法」

查看所有标签

队列的特点

  • 先进先出

在JavaScript中使用数组来模拟队列

使用队列的场景

  • JS异步中的任务队列
  • 计算最近请求次数

队列的典型习题

实现代码

var RecentCounter = function () {
this.arr = [];
this.result = [];
};


RecentCounter.prototype.ping = function (t) {

// 新ping的元素入队
this.arr.push(t);
while (this.arr[0] < t - 3000) {
this.arr.shift();
}

return this.arr.length;
};

数据结构与算法阅读需 1 分钟

栈的特点

  • 先进后出

JS中使用数组模拟栈

// 栈——数据结构
// 在JS中使用数组来模拟栈
const stack = [];
// 入栈使用push
stack.push(1); // 1比2先入栈
stack.push(2);
// 出栈使用pop()
const item1 = stack.pop();
const item2 = stack.pop();

栈的应用场景

  • 函数调用栈:最后被调用的函数反而最先被执行。
  • LeetCode:有效的括号,栈空说明是有效的括号。

数据结构与算法阅读需 1 分钟