2015-07-25 2 views
0

У меня есть матрица с возрастающими числами в каждом направлении строки (справа) и в каждом направлении столбца (вниз) и пытайтесь найти местоположение определенного числа в матрице или по крайней мере, место нахождения, которое ближе всего к нему, если число не находится в матрице. Каким будет наиболее эффективный в вычислительной области способ достижения этого?Эффективный поиск значения в упорядоченной матрице

ответ

0

Binary search - одно типичное решение для массивов. Ваша матрица в основном представляет собой фрагментированный массив, но очень просто принять ту же логику.

+0

Я думал о стратегии по этим направлениям: Для большой матрицы можно приблизить ее координаты как действительные числа и может найти изолинии, затем найдите дискретную матрицу вдоль этой изолинии, чтобы найти решение более эффективно, чем двоичный поиск. Имейте в виду детали, если это действительно имеет смысл ... – ScarletPumpernickel

+0

Если для значений в вашей матрице не существует определенной предопределенной структуры/правил (о которой вы не говорите), я не понимаю вашего комментария. – Amit

+0

Существует предопределенная структура; матрица монотонно возрастает в обоих направлениях. – ScarletPumpernickel

Смежные вопросы