全部评论
快速选择其实相当于用二分法找这个第k大的元素,第一次partition需要遍历n个元素,假设第一次遍历后返回j,说明前j小的数都在前半段,如果k要比j小,那么就应该继续在前半段找这个第k小数,否则在后半段(和二分法找某个数一样的思想),这样下次遍历就是遍历j个或者n-j个。理想来说,partition应该刚刚把数组平分,因此总遍历数是n+n/2+n/4+...+1=o(n)
相关推荐
李橙子:你这如果想找java方向的,那你的项目就不要写python啊,不然会以为你是主要找python的 点赞 评论 收藏
分享
点赞 评论 收藏
分享
