Skip to content

2011年 408 数据结构 第 42 题

数据结构2011年综合题13分

题目 ​

一个长度为 L(L ≥ 1)的升序序列 S,处在第 ⌈L/2⌉ 个位置的数称为 S 的中位数。例如,若序列 S₁ = (11, 13, 15, 17, 19),则 S₁ 的中位数是 15。两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若 S₂ = (2, 4, 6, 8, 20),则 S₁ 和 S₂ 的中位数是 11。

现有两个等长的升序序列 A 和 B,试设计一个在时间和空间两方面都尽可能高效的算法,找出两个序列 A 和 B 的中位数。要求:

(1) 给出算法的基本设计思想。

(2) 根据设计思想,采用 C、C++ 或 Java 语言描述算法,关键之处给出注释。

(3) 说明你所设计算法的时间复杂度和空间复杂度。

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数