跪求一道数据结构题的答案!!急!!

2024-10-30 23:47:04
推荐回答(1个)
回答1:

算法:
1. 首先2个一组比较一轮,较大的加入序列A,较小的加入序列B,若剩下一个则同时加入序列A和B;
2. 然后在A中求最大值,在B中求最小值。

分析:
若n为偶数,设n=2k,则第一步需要k次比较,第二步取最大值和最小值各需k-1次比较,
共 k+(k-1)+(k-1) = 3k-2 = (3n-4)/2次;
若n为奇数,设n=2k+1,则第一步需要k次比较,第二步取最大值和最小值各需k次比较,
共 k+k+k = 3k = (3n-3)/2次;