摘要:
【题目】 设计一个满足以下要求的比赛日程表:(1) 每个选手必须与其他n-1个选手各赛一次;(2) 每个选手一天只能赛一次;(3) 循环赛一共进行n-1天。 传统方法:将比赛日程表设计为:n行 n-1列的表(i,j)表示:第i个选手在第j 天 遇到的选手 【算法解析】 按分治策略,将所有的选手分为两 阅读全文
摘要:
【题目】 在n个元素的无序数组中选择第k(1<=k<=n)小元素。当k=1时,相当于找最小值。当k=n时,相当于找最大值。当k=n/2时,称中值。【要求】线性时间内完成,即O(n)。 【算法解析】 通过执行下列步骤,算法SELECT可以确定一个有n>1个不同元素的输入数组中第i小的元素。(如果n=1 阅读全文