算法:查找兩個序列的中位數(分治法)

問題:長度爲n的有序序列(升序),求兩個有序序列中的中位數 解法: 當n爲奇數時,中位數出現在m=(s+t)/2 當n爲偶數時,有上中位m=[(s+t)/2]+1 有下中位m=(s+t)/2 爲了簡單,僅考慮中位數爲m=(s+t)/2 當a序列中位數小於b序列中位數,即a[m1]<b[m1] 捨棄a前半部分b後半部分 ⏩取a後b前⏪ 當a序列中位數大於b序列中位數,即a[m1]>b[m1] 捨棄a
相關文章
相關標籤/搜索