Advertisement

计算两个有序数组的中位数---分治法实验1

阅读量:

问题描述
给定两个有序数组X和Y(每个包含n个元素),确定这两个数组元素的中位数。
编程任务
采用分治法设计一个时间复杂度为O(log n)的算法来计算这两个有序数组元素组成的2n个元素的整体中位数。
数据输入
从文件input.txt读取输入数据。文件第一行给出正整数n(n≤200),表示每个数组有n个元素。接下来两行分别给出X、Y数组的具体数值。
实现提示
比较两组序列各自的中位数值:

  1. 如果两者相等,则此数值即为整个2n个元素的中位数;
  2. 否则通过比较两者的大小关系来确定如何缩减搜索范围并继续查找目标值所在的区间。
    结果输出
    将计算得到的结果输出至标准输出端口(stdout)。注意:如果最终结果无法唯一确定,则需按照题目要求输出相应的中间结果。
在这里插入图片描述

输出文件

在这里插入图片描述

这道题下午

全部评论 (0)

还没有任何评论哟~