全部评论
快速选择其实相当于用二分法找这个第k大的元素,第一次partition需要遍历n个元素,假设第一次遍历后返回j,说明前j小的数都在前半段,如果k要比j小,那么就应该继续在前半段找这个第k小数,否则在后半段(和二分法找某个数一样的思想),这样下次遍历就是遍历j个或者n-j个。理想来说,partition应该刚刚把数组平分,因此总遍历数是n+n/2+n/4+...+1=o(n)
相关推荐
昨天 14:23
西安建筑科技大学 数据分析师 点赞 评论 收藏
分享
2025-12-17 17:53
门头沟学院 Web前端 点赞 评论 收藏
分享
点赞 评论 收藏
分享