簡體   English   中英

在二維數組上進行二進制搜索

[英]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 = 0end = 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM