我正在尝试在Java中实现Median of Medians这样的方法:
Select(Comparable[] list, int pos, int colSize, int colMed)
Run Code Online (Sandbox Code Playgroud)
list 是一个用于查找指定位置的值列表pos 是指定的位置colSize 是我在第一阶段创建的列的大小colMed 是我用作medX的那些列中的位置我不确定哪种排序算法最适合使用或如何实现这一点.
鉴于数字列表:2 5 1 8 4 10 6 3 7 9 0
我理解的快速排序的实际实现,但我的功课问题是我没有:
枢轴的最佳选择是什么?为什么?
我在读这篇文章时已经假定,对于一个枢轴的明显选择是5或6,因为它位于列表的中间.我认为快速排序可以工作,因为我们每次都选择一个新的数据透视表.这使得后续问题更有意义,但是有没有人有正式的定义?
为什么最佳枢轴不实用?