王哥888号娇妻:快速选择其实相当于用二分法找这个第k大的元素,第一次partition需要遍历n个元素,假设第一次遍历后返回j,说明前j小的数都在前半段,如果k要比j小,那么就应该继续在前半段找这个第k小数,否则在后半段(和二分法找某个数一样的思想),这样下次遍历就是遍历j个或者n-j个。理想来说,partition应该刚刚把数组平分,因此总遍历数是n+n/2+n/4+...+1=o(n)
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: