быстрый алгоритм для перебора одного возможного варианта
От: kosfr Израиль  
Дата: 23.05.05 12:52
Оценка: :)
быстрый алгоритм для перебора одного возможного варианта в матрице? что бы не повторялись.
1 2 3
6
1 2
6 2
9

output : 2,1,8

23.05.05 17:52: Перенесено модератором из '.NET' — AndrewVK
Kostya
Re: быстрый алгоритм для перебора одного возможного варианта
От: Oyster Украина https://github.com/devoyster
Дата: 23.05.05 12:59
Оценка:
Здравствуйте, kosfr, Вы писали:

K>быстрый алгоритм для перебора одного возможного варианта в матрице? что бы не повторялись.

K>1 2 3
K>6 1 2
K>6 2 9

K>output : 2,1,8


Я понял — это намёк,
Я всё ловлю на лету.
Но непонятно,
Что конкретно ты имела в виду?


(с) Несчастный Случай
Re: быстрый алгоритм для перебора одного возможного варианта
От: Mab Россия http://shade.msu.ru/~mab
Дата: 23.05.05 13:01
Оценка:
K>быстрый алгоритм для перебора одного возможного варианта в матрице? что бы не повторялись.
K>1 2 3
K>6 1 2
K>6 2 9
K>output : 2,1,8
Особенно загадочно выглядит отсутствие числа 8 во входных данных И при чем тут .NET?
Re: быстрый алгоритм для перебора одного возможного варианта
От: Аноним  
Дата: 23.05.05 13:03
Оценка:
http://www.gotdotnet.ru/Forums/Common/161645.aspx Дубль два?


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: быстрый алгоритм для перебора одного возможного вариа
От: kosfr Израиль  
Дата: 23.05.05 13:23
Оценка:
Здравствуйте, Mab, Вы писали:

K>>быстрый алгоритм для перебора одного возможного варианта в матрице? что бы не повторялись.

K>>1 2 3
K>>6 1 2
K>>6 2 9
K>>output : 2,1,8
Mab>Особенно загадочно выглядит отсутствие числа 8 во входных данных И при чем тут .NET?

2,1,9

и наверное надо перенести в Алгоритмы .

sorry
Kostya
Re[3]: быстрый алгоритм для перебора одного возможного вариа
От: Oyster Украина https://github.com/devoyster
Дата: 23.05.05 13:25
Оценка:
Здравствуйте, kosfr, Вы писали:

[... skipped ...]

Mab>>Особенно загадочно выглядит отсутствие числа 8 во входных данных И при чем тут .NET?


K>2,1,9


K>и наверное надо перенести в Алгоритмы .


Думаешь, поможет? Так и не стало понятно, что же, собственно, тебе надо.
Re[3]: быстрый алгоритм для перебора одного возможного вариа
От: jhfrek Россия  
Дата: 23.05.05 13:58
Оценка:
Здравствуйте, kosfr, Вы писали:

K>и наверное надо перенести в Алгоритмы .


Не, логичнее в "Коллеги, улыбнитесь".

Либо в массиве надо заменить 6 и 9 на 3 и 1 соответственно и тогда это будут перестановки, либо результат 3 и 9 которые встречаются по одному разу. Имно.
Re[4]: быстрый алгоритм для перебора одного возможного вариа
От: kosfr Израиль  
Дата: 23.05.05 18:07
Оценка:
Здравствуйте, jhfrek, Вы писали:

J>Здравствуйте, kosfr, Вы писали:


K>>и наверное надо перенести в Алгоритмы .


J>Не, логичнее в "Коллеги, улыбнитесь".


J>Либо в массиве надо заменить 6 и 9 на 3 и 1 соответственно и тогда это будут перестановки, либо результат 3 и 9 которые встречаются по одному разу. Имно.


у меня есть матрица m*n 3x2. мне надо создать массив m чисел (3). в каждой мне надо взять одно число random так что бы не повторялось в массиве.

извиняюсь за непонятие проста на клаве нету русского.
Kostya
Re[5]: быстрый алгоритм для перебора одного возможного вариа
От: andyJB  
Дата: 23.05.05 19:08
Оценка:
K>у меня есть матрица m*n 3x2. мне надо создать массив m чисел (3). в каждой мне надо взять одно число random так что бы не повторялось в массиве.

Не сказать, чтобы сильно помогло.
Если необходимо получить три различных числа, лежащих в интервале 0..N Генерируйте число в полуинтервале 0..С^{3}_{N} ("це из N по 3" ), получите номер множества, содержащего искомые числа.
Если необходимо получить случайную перестановку трех различных чисел, генерируете число в полуинтервале 0..3!, получите номер перестановки этих чисел.
Re[5]: быстрый алгоритм для перебора одного возможного вариа
От: Кодт Россия  
Дата: 23.05.05 20:15
Оценка:
Здравствуйте, kosfr, Вы писали:

K>у меня есть матрица m*n 3x2. мне надо создать массив m чисел (3). в каждой мне надо взять одно число random так что бы не повторялось в массиве.


Формализуем задачу.

Есть набор из N векторов одинаковой размерности M.
Необходимо из каждого вектора взять по одному элементу, так, чтобы набор из N чисел не содержал повторений.

Вопрос:
Требуется ли, чтобы номера элементов тоже были уникальными? (т.е., взяв в первом векторе i-й элемент, мы вычёркиваем все i-е элементы из рассмотрения).
Если нет — то задача несколько облегчается.

В любом случае, алгоритм выбора с возвратами будет работать.
Выбираем случайный элемент очередного вектора; вычёркиваем его из оставшихся векторов; если где-то получили пустой вектор — производим откат и выбираем другой элемент. Если больше вариантов не осталось — тоже производим откат и возвращаемся на шаг назад.

Можно ли сделать алгоритм без возвратов — это надо подумать.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.