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

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

【金秋打卡】第7天 前端面試技能拼圖1

標簽:
面試

课程名称:2周刷完100道前端优质面试真题
课程章节:第3章 前端面试技能拼图1: 数据结构和算法(下),大厂面试必考
主讲老师:双越

课程内容:

今天学习的内容包括:
3-17 -如何实现高效的英文单词前缀匹配——使用哈希转变成tree结构实现高效的英文单词匹配操作。

课程收获:

高效的字符串前缀匹配
  • 有一个英文单词库(数组),里面有几十万个英文单词
  • 输入一个字符串,快速判断是不是某一个单词的前缀
  • (说明思路,不用写代码)
常规思路
  • 第一,遍历单词库数组
  • 第二,indexOf 判断前缀
  • 实际时间复杂度超过了O(n),因为要考虑indexOf的计算量
优化
  • 英文字母一共26个,可以提前把单词库数组拆分为26个
  • 既然第一层拆分为26个,第二层、第三层,还可以继续拆分
  • 最后把单词库拆分为一棵树
性能分析
  • 如遍历数组,时间复杂度至少O(n)起步( n是数组长度)
  • 而改为树,时间复杂度降低到O(m)( m是单词的长度)
  • PS:哈希表(对象)通过key查询,时间复杂度是O(1)
划重点
  • 考虑优化原始数据结构(需和面试官沟通确认)
  • 有明确范围的数据(如26个英文字母),考虑使用哈希表(对象)
  • 以空间换时间,定义数据结构最重要

今天的 学习了 如何实现高效的英文单词前缀匹配,使用数组的方式时间复杂度是O(n),但是如果改成tree模式时间复杂度为O(m),m为英文单词长度。

下一步就是 学习 用 JS 实现数字千分位格式化。今天学习就先到这里吧。

坚持打卡,坚持学习,未来可期,加油😀~

https://img1.sycdn.imooc.com//635e32b900019cad25231353.jpg

點擊查看更多內容
TA 點贊

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

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
1
獲贊與收藏
1

關注作者,訂閱最新文章

閱讀免費教程

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

100積分直接送

付費專欄免費學

大額優惠券免費領

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

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

幫助反饋 APP下載

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

公眾號

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

舉報

0/150
提交
取消