为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第5天 前端面试技能拼图1

标签:
面试

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

课程内容:

今天学习的内容包括:
3-13 用 JS 实现快速排序并说明时间复杂度-代码演示和单元测试——使用递归和二分实现快速排序。
3-14 -用JS实现快速排序并说明时间复杂度-性能分析——前端是重时间轻空间,空间复杂度使用了递归,还是很高的。

课程收获:

固定算法,固定思路
  • 找到中间位midValue
  • 遍历数组,小于midValue放在left,否则放在right
  • 继续递归。最后concat 拼接,返回
细节
  • 获取midValue的两种方式∶
  • 使用splice ,会修改原数组
  • 使用slice ,不会修改原数组 —— 更加推荐
时间复杂度
  • 有遍历,有二分—— O(n*logn)或者Q(nlogn)
  • (常规排序,嵌套循环,复杂度是(n^2))
splice 和slice没有区分出来
  • 算法本身的时间复杂度就够高O(n*logn)
  • 外加,splice是逐步二分之后执行的,二分会快速削减数量级
  • 如果单独比较splice和slice ,效果会非常明显
划重点
  • 常见排序算法
  • 有二分,时间复杂度就包含O(logn)
  • 注意数组操作:splice和slice

今天的 学习了 用 JS 实现快速排序并说明时间复杂度,还是二分法的实现方式,感觉递归还有点动态规划的感觉,虽然学着忘着,但是总体感觉还好。

下一步就是 学习 获取1-10000之前所有的对称数(回文数)-代码演示和单元测试。今天学习就先到这里吧。

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

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

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

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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
1
获赞与收藏
1

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消