请注意,中位数选择算法使用Θ(n)比较,但这并不意味着它最多使用3n / 2-2个比较。实际上,我认为它使用的更多,这可能会排除您的解决方案策略。
提示:将这个问题视为对所有2
k进行淘汰赛;每个回合的胜者(两个数字中较小的一个)进入下一轮。要实现这一点需要进行多少次比较?接下来,请注意,第二个最小的数字必须“丢失”到最小的数字。第二小的数字也是“丢失”到最小数字的最小数字。鉴于此,您可以有效地找到第二小的数字吗?
希望这可以帮助!

请注意,中位数选择算法使用Θ(n)比较,但这并不意味着它最多使用3n / 2-2个比较。实际上,我认为它使用的更多,这可能会排除您的解决方案策略。
提示:将这个问题视为对所有2
k进行淘汰赛;每个回合的胜者(两个数字中较小的一个)进入下一轮。要实现这一点需要进行多少次比较?接下来,请注意,第二个最小的数字必须“丢失”到最小的数字。第二小的数字也是“丢失”到最小数字的最小数字。鉴于此,您可以有效地找到第二小的数字吗?
希望这可以帮助!