|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Dmitry Ponkratenko 2:50/385.69 15 Dec 2001 05:33:48 To : All Subject : Поиск --------------------------------------------------------------------------------
Вот задачка такого плана, может кто нибудь знает как без полного перебора всех
элементов решить
имеется таблица 10 столбцов на N строк с числами от 0 до 9 (например)
напичкаными в неё без какого либо порядка (рандомом)
типа такого:
1 5 8 3 6 1 8 9 0 4
5 3 7 9 2 4 7 2 9 5
3 6 9 3 7 9 2 3 1 1
..... дальше очень много таких же строчек
и массивчик (вектор?, строка?)
2 5 8 6 3 4 5 4 5 4
к которому надо найти наиболее близкую строку
(в идеале такую же, но её может и не быть там)
в таблице т.е. у которой сумма модулей разностей N-ных элементов
минимальна
т.е. для первой строчки таблицы
diff=!1-2!+!5-5!+!8-8!+!3-6!+!6-3!+!1-4!+!8-5!+!9-4!+!0-5!+!4-4!=
1+0+0+3+3+3+3+5+5+0=23
для остальных также, вот строка у которой этот diff будет самым маленьким
нам как раз и нужна.
пока есть только вариант с полным перебором всей таблицы, что не очень приятно!
в исходную таблицу можно индексировать как угодно, добавлять вспомагательные
поля
З.Ы. если есть ссылки в инет
Bye ..
--- WP/95 Rel 1.78E (215.0) Reg.
* Origin: Flammasters Forever (2:50/385.69)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/288206fa1085.html, оценка из 5, голосов 10
|