У меня есть 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 х 3 массиве выше, средняя точка работает, чтобы быть четыре [9 элементов]. Теперь, как узнать соответствующую строку и столбец с серединой? Есть ли для этого стандартная формула?
Хм .. Просто Любопытно. Как вы это придумали? – vinoth
Ну, для каждого номера cols_per_row вы идете на одну строку вниз. Таким образом, это объясняет, почему первое число найдено с использованием этой формулы, верно? Что касается второго - столбец, в котором вы находитесь, циклически повторяется каждый номер cols_per_row, поэтому '%' описывает такое поведение, правильно? –
Что такое 'cols_per_row'? –