课程名称:JavaScript版数据结构与算法
课程章节:第11章 进阶算法之“搜索排序”
主讲老师:lewis
今天学习的内容包括:
11-5 JavaScript 实现:归并排序——使用先分后合实现排序功能。
11-6 JavaScript 实现:快速排序——。
let mid = Math.floor(arr.length / 2) let left = arr.slice(0, mid) let right = arr.slice(mid, arr.length) let orderLeft = rec(left) let orderRight = rec(right) let res = [] while (orderLeft?.length || orderRight?.length) { res.push(orderLeft[0] < orderRight[0] ? orderLeft.shift() : orderRight.shift()) }
for (let i = 1; i < arr.length; i++) { if(arr[i] < mid){ left.push(arr[i]) }else{ right.push(arr[i]) } } return [...rec(left),mid,...rec(right)]
今天学习了 归并排序、快速排序,这两个在实际工作中有很多的应用场景,这两个时间复杂度都是O(n*logN),在代码书写过程中,遇到了不少问题,也都一一解决了,跟课程中遇到的还是有些不同的。对自己说一句,加油😀~
坚持打卡,坚持学习!明天见💪~