當前位置:
首頁 >
类似二分查找算法
發布時間:2025/4/16
23
豆豆
設X[1...n]和Y[1...n]為兩個數組,每個都包含n個已排序好的數。給出一個求數組X和Y中所有2n個元素的中位數的、O(lgn)時間的算法。
算法思想:
該算法類似于二分查找算法
1.兩個數組中小于median的個數為(n - 1)個,假設該median為數組a中的第k個,k為數組下標,那么在數組a中已經存在k個值小于median,那么在數組b中必然有(n - 1) - k = (n-k-1)個數小于median,如果b[n - k - 2] <= median <= b[n - k - 1],那么median就找到了,如果median >= b[n - k - 1],則搜索數組a中[0,k + 1 ]中的元素,如果median <= b[n?- k - 2],則搜索數組a中[k+1,n-1]中的元素.
2.依次類推,類似二分查找,不斷重新設置low,high,middle
3.如果在數組a中沒找到,則在數組b中找
詳細代碼
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: [YTU]_2922(Shape系列-8
- 下一篇: sdut_1189