[理工] [algo/演算法] 兩個已排序的陣列找中間值

看板Grad-ProbAsk作者 (mozzan)時間14年前 (2012/01/21 10:55), 編輯推噓4(405)
留言9則, 5人參與, 最新討論串1/1
這是去年公費留學演算法考題 Let A[1..n] and B[1..n] be two sorted (in increasing order) arrays, each containing n numbers. Design an O(log n)-time algorithm to find the median of all 2n elements in arrays A and B. Explain your answer and analyze the complexity. 連結: http://www.edu.tw/files/site_content/B0003/65%E6%BC%94%E7%AE%97%E6%B3%95.pdf 我的想法是抓A[n/2], B[n/2]出來比較,但細節不知道如何描述, 有人有好的解法嗎?? 謝謝分享 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.127.222.204

01/21 11:00, , 1F
感覺上Binary search 就可以吧?沒說要合併還是分開找
01/21 11:00, 1F

01/21 11:39, , 2F
if(A[n/2]<B[n/2]) 就去找A[n/2~n]以及B[0~n/2]的中位數
01/21 11:39, 2F

01/21 11:40, , 3F
if(A[n/2]==B[n/2]) return A[n/2]
01/21 11:40, 3F

01/21 11:40, , 4F
if(A[n/2]>B[n/2]) 找A[0~n/2] 以及B[n/2~n]的中位數
01/21 11:40, 4F

01/21 11:41, , 5F
time complexity T(n)=2T(n/2)+O(1)
01/21 11:41, 5F

01/21 11:41, , 6F
T(n)=T(n/2)+O(1)才對 打錯
01/21 11:41, 6F

01/21 17:39, , 7F
Cormen的習題
01/21 17:39, 7F

01/21 22:40, , 8F
老梗題0.0
01/21 22:40, 8F

01/21 22:44, , 9F
滿經典的題目
01/21 22:44, 9F
文章代碼(AID): #1F6YaWYO (Grad-ProbAsk)