[英]Binary Search on a 2D array
我有一個完全排序的2D數組。 下面的數組是示例
1 2 3
5 6 7
9 10 11
和
1 2 3 4 5
6 7 8 9 10
我想在這些數組上使用二進制搜索。 設rows
為行數, cols
為列數
最初start = 0
, end = rows * cols -1
在上面的3 X 3數組中,中點算出為四個[9個元素]。 現在如何找出帶有中點的相應行和列? 有任何標准公式嗎?
公式很簡單:
row = number/cols_per_row;
col = number%cols_per_row;
設size = rows * cols
mid = size // 2
(整數除法)
row = mid // cols
col = mid % cols
(其余為整數除法)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.