亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【學習打卡】第3天 數據結構之“隊列”

標簽:
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)

这一题在老师讲解之前我以为会非常复杂,看完老师的操作后发现原来算法也可以这么简单的实现出来,算法真的让人着迷。对自己说一句,加油😀~

坚持打卡,坚持学习!明天见💪~

https://img1.sycdn.imooc.com//62ee76be0001788019200892.jpg


https://img1.sycdn.imooc.com//62ee781c0001e96a19200892.jpg

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消