课程名称: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之前所有的对称数(回文数)-代码演示和单元测试。今天学习就先到这里吧。
坚持打卡,坚持学习,未来可期,加油😀~
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦