【學(xué)習(xí)打卡】第3天 數(shù)據(jù)結(jié)構(gòu)之“隊列”
標(biāo)簽:
JavaScript
课程名称:JavaScript版数据结构与算法
课程章节:第4章 数据结构之“队列”
主讲老师:lewis
课程内容:
今天学习的内容包括:
4-1 队列简介——JavaScript 中可以使用Array实现队列的所有功能,队列具有先进先出的数据特点。
4-2 什么场景用队列——生活和程序中使用到队列的地方。
4-3 LeetCode:933. 最近的请求次数——使用队列处理获取请求次数。
4-4 前端与队列:JS 异步中的任务队列——JavaScript 中 先处理宏任务,在处理微任务,然后放入任务队列执行。
4-5 队列-章节总结——队列特点总结。
4-6 【勤于思考,夯实学习成果】阶段思考题——根据学习完成对应作业。
课程收获:
队列和堆栈在 JavaScript 中都可以使用 Arrray 实现
const queue = []
queue.push(1)
queue.push(2)
console.log(queue.shift())
console.log(queue.shift())
队列的使用场景
1、生活中排队打饭
2、JavaScript 中宏任务的执行
3、聊天数据等应该也是使用队列进行处理
933. 最近的请求次数
这题按照之前做法我会使用for循环进行判断最终拿到满足的次数,这里使用队列,非常巧妙的获取了请求次数
var RecentCounter = function() {
this.q = []
};
/**
* @param {number} t
* @return {number}
*/
RecentCounter.prototype.ping = function(t) {
this.q.push(t)
while(this.q[0] < t - 3000){
this.q.shift()
}
return this.q.length
};
JS 异步中的任务队列
先处理宏任务,在处理微任务,然后放入任务队列执行
setTimeout(()=>{
console.log(1)
},0)
console.log(2)
这一题在老师讲解之前我以为会非常复杂,看完老师的操作后发现原来算法也可以这么简单的实现出来,算法真的让人着迷。对自己说一句,加油😀~
坚持打卡,坚持学习!明天见💪~
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦