Нужно реализовать задачу: Элементы целочисленной прямоугольной матрицы A строго упорядочены по возрастанию:
a[1,1] < a[1,2] < a[1,3] < ... < a[1,n] < a[2,1] < ... ... < a[2,n] < a[3,1] < ... < a[m,n]. Найти элемент, равный заданному числу b , и отпечатать его индексы. Число действий в решении должно быть порядка m+n , а не m*n ( последовательный перебор всех элементов матрицы не допускается).
Подскажите пожалуйста, можно ли в labview матрицу преобразовать в массив, а затем в этом массиве использовать метод половинного деления (дихотомии) для поиска заданного числа b? Если можно, прошу подсказать, как именно. Плюсик в карму любому за помощь! Спасибо за внимание.
Работа с матрицей. Нужна помощь
-
IvanLis
- guru
- Сообщения: 5463
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Работа с матрицей. Нужна помощь
IvanLis писал(а):Matrix To Array VI http://zone.ni.com/reference/en-XX/help ... _to_array/Nana-sh писал(а):Подскажите пожалуйста, можно ли в labview матрицу преобразовать в массив, а затем в этом массиве использовать метод половинного деления (дихотомии) для поиска заданного числа b? Если можно, прошу подсказать, как именно. Плюсик в карму любому за помощь! Спасибо за внимание.
Array To Matrix VI http://zone.ni.com/reference/en-XX/help ... to_matrix/
Вам наверное именно алгоритм разработать и реализовать необходимо.
Если поиск для реального проекта, то можно так:
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
Oleg B.
- leader
- Сообщения: 674
- Зарегистрирован: 25 сен 2011, 11:30
- Награды: 2
- Версия LabVIEW: 5 .. 2021
- Откуда: Israel
- Контактная информация:
Re: Работа с матрицей. Нужна помощь
Это лишнее. Работайте с матрицей.Nana-sh писал(а):Подскажите пожалуйста, можно ли в labview матрицу преобразовать в массив, а затем в этом массиве использовать метод половинного деления (дихотомии) для поиска заданного числа b?
Сначала проведите поиск b>=a[i,n-1] {i=0..m-1} - получите искомую строку(максимум m итераций),
а затем b=a[i,j] {j=0..n-1} (максимум n итераций)
Последний раз редактировалось Oleg B. 25 окт 2016, 21:27, всего редактировалось 1 раз.
veni, vidi, phallomorphi
-
Oleg B.
- leader
- Сообщения: 674
- Зарегистрирован: 25 сен 2011, 11:30
- Награды: 2
- Версия LabVIEW: 5 .. 2021
- Откуда: Israel
- Контактная информация:
Re: Работа с матрицей. Нужна помощь
IvanLis,
последовательный перебор всех элементов матрицы не допускается
veni, vidi, phallomorphi
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Работа с матрицей. Нужна помощь
В есть встроенная функция для этого, но можно реализовать с нуля через стандартные инструменты. Как пример - C:\Program Files (x86)\National Instruments\LabVIEW 2011\vi.lib\Utility\queue.llb\Queue BinSearch.vi. Не забудьте, что перед применением двоичного поиска массив должен быть отсортирован по возрастанию.Nana-sh писал(а):Подскажите пожалуйста, можно ли в labview матрицу преобразовать в массив, а затем в этом массиве использовать метод половинного деления (дихотомии) для поиска заданного числа b? Если можно, прошу подсказать, как именно.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Работа с матрицей. Нужна помощь
Это не BinSearch, но требованию не более n + m операций соответствует.
- Вложения
-
- Seach in Matrix (Sorted Asc Order by Row) 2.vi
- (18.25 КБ) 73 скачивания
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 3 Ответы
- 625 Просмотры
-
Последнее сообщение Artem.spb
-
- 1 Ответы
- 337 Просмотры
-
Последнее сообщение Artem.spb
-
- 1 Ответы
- 229 Просмотры
-
Последнее сообщение alerm
-
- 4 Ответы
- 110 Просмотры
-
Последнее сообщение AndreyDmitriev
-
- 16 Ответы
- 3262 Просмотры
-
Последнее сообщение Artem.spb