У меня есть матрица с возрастающими числами в каждом направлении строки (справа) и в каждом направлении столбца (вниз) и пытайтесь найти местоположение определенного числа в матрице или по крайней мере, место нахождения, которое ближе всего к нему, если число не находится в матрице. Каким будет наиболее эффективный в вычислительной области способ достижения этого?Эффективный поиск значения в упорядоченной матрице
0
A
ответ
0
Binary search - одно типичное решение для массивов. Ваша матрица в основном представляет собой фрагментированный массив, но очень просто принять ту же логику.
1
Бинарный поиск среднего ряда, затем рекурсия в нижней левой и верхней правой подматрицы.
Это лучшее и последнее решение, описанное в ссылке ниже: http://articles.leetcode.com/2010/10/searching-2d-sorted-matrix.html
Смежные вопросы
- 1. Поиск в колоночной упорядоченной матрице в сложности O (n)
- 2. Эффективный поиск в огромной многомерной матрице
- 3. Как эффективно искать в упорядоченной матрице?
- 4. CUDA: поиск минимального значения в матрице 100x100
- 5. C++ эффективный поиск значения в наборе интервалов
- 6. Есть ли способ найти строку данной ячейки в упорядоченной матрице?
- 7. Поиск минимальной стоимости в двоичной матрице
- 8. Джанго: Получение значения упорядоченной QuerySet
- 9. Поиск в матрице - python
- 10. EXCEL - обратный поиск в матрице
- 11. Поиск значений в большой матрице
- 12. Поиск соседних позиций в матрице
- 13. Каков наиболее эффективный способ хранения этой упорядоченной пары в php?
- 14. Эффективный способ получить первый отсутствующий элемент в упорядоченной последовательности?
- 15. Эффективный метод нахождения смежных элементов в матрице
- 16. Эффективный метод поиска элементов в матрице MATLAB
- 17. Максимальные значения в матрице
- 18. Повторные значения в матрице
- 19. Манипулирование значения в матрице
- 20. Изменить значения в матрице
- 21. Поиск совпадающих строк в матрице
- 22. Поиск непересекающихся строк в матрице
- 23. Поиск пути в булевой матрице
- 24. Поиск максимума в 3d-матрице
- 25. Поиск комбинации значений в матрице
- 26. Поиск шаблона в 2D-матрице
- 27. Эффективный поиск в корпусе
- 28. Эффективный поиск в списке
- 29. Поиск среднего значения столбца в матрице с неизвестными элементами
- 30. Поиск максимального значения в матрице (программирование на С)
Я думал о стратегии по этим направлениям: Для большой матрицы можно приблизить ее координаты как действительные числа и может найти изолинии, затем найдите дискретную матрицу вдоль этой изолинии, чтобы найти решение более эффективно, чем двоичный поиск. Имейте в виду детали, если это действительно имеет смысл ... – ScarletPumpernickel
Если для значений в вашей матрице не существует определенной предопределенной структуры/правил (о которой вы не говорите), я не понимаю вашего комментария. – Amit
Существует предопределенная структура; матрица монотонно возрастает в обоих направлениях. – ScarletPumpernickel