Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия, Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки
Re: Получить все перестановки исключая "симметричные"
03.08.2011, 09:58
Проверять. Как обычно - короткий выбрать. n переменное, где-то до 10-15 объектов. Время перебора в худшем случае выходит за рамки желаемого. Вот и хочется сократить по возможности.
Vince Diesel
Re: Получить все перестановки исключая "симметричные"
03.08.2011, 10:38
Зачем тогда что-то изобретать. Стоит взять эффективный алгоритм нахождения всех перестановок, и для каждой организовать цикл проверок с вставлением дополнительного элемента, как я писал выше. Вместо можно взять и добавлять справа, пока этот элемент правее . Если перестановка хранится в виде списка, то вставить элемент легко. Либо походу организовать постоение маршрута с вставкой. Никаких лишних действий в этом алгоритме вроде нет.
kalapanga
Re: Получить все перестановки исключая "симметричные"
Зачем тогда что-то изобретать. Стоит взять эффективный алгоритм нахождения всех перестановок, и для каждой организовать цикл проверок с вставлением дополнительного элемента, как я писал выше. Вместо можно взять и добавлять справа, пока этот элемент правее . Если перестановка хранится в виде списка, то вставить элемент легко. Либо походу организовать постоение маршрута с вставкой. Никаких лишних действий в этом алгоритме вроде нет.
Я все-таки не очень понял, что и куда ты предлагаешь вставлять. Из примера видно, что 1 не всегда левее 2. А вот вставить в известный алгоритм генерации перестановок проверку, что крайний правый элемент больше крайнего левого - это может и на самом деле достаточно будет. Проверю.
Vince Diesel
Re: Получить все перестановки исключая "симметричные"
03.08.2011, 12:08
Последний раз редактировалось Vince Diesel 03.08.2011, 12:28, всего редактировалось 1 раз.
Берем алгоритм для нахождения всех перестановок из 3х элементов. Затем для каждой перестановки в цикле добавляем по очереди на каждое место правее 3. Получим: , , , , , .
kalapanga
Re: Получить все перестановки исключая "симметричные"
03.08.2011, 12:24
Спасибо, понял! До меня на "живых" цифрах лучше доходит! :) Всем спасибо за идеи! Пошел воплощать.