请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于课程示例代码中快速查找指定位置元素的效率问题

老师,我研究了您这一小节关于快速查找元素的代码,产生了一个疑问,如果遇到一个存在大量重复元素的数组,如果采用那种partition的做法,查找元素的效率是不是会受到比较大的影响。如果采用二路快排或者三路快排过程进行查找,效率是不是更优呢

正在回答

1回答

liuyubobobo 2019-01-23 02:04:53

抱歉,我不太了解你说的是哪个快速查找代码?


课程中已经介绍了,我们之所以引入二路快排或者三路快排,就是因为在面对包含大量重复元素的数组,一路快排是会稳定的退化成为O(n^2)算法的。所以如果有大量重复元素,一定要使用二路快排或者三路快排的思路:)

0 回复 有任何疑惑可以回复我~
  • 提问者 慕粉3169703 #1
    没问题,关于这一小节快速排序查找第N大的元素,我用的是三路快排的做法
    回复 有任何疑惑可以回复我~ 2019-01-23 09:49:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信