- 9
- 0
- 约3.06千字
- 约 6页
- 2023-01-19 发布于江苏
- 举报
分治算法举例
Revised by Petrel at 2021
1 设 X[0:n-1]和 Y[0:n-1]为两个数组,每个数组中含有 n 个已排序好的数。试设计一个 O(logn)时间的分治算法,找出 X 和 Y 的 2n 个数的中位数,并证明算 法 的 时 间 复 杂 性 为 O ( l o g n ) 。
注:个数为奇数,则处于最中间位置的数;
个数为偶数,则中间两个数据的平均数。
解:
利用二分查找思想: 对于两个等长的数组,
如果数组长度为奇数,令 mid 为数组的最中间元素的位置,则有 X[mid], Y[mid]分别为两个数组的中位数,则存在以下情况:
如果 X[mid]Y[
原创力文档

文档评论(0)