Re: CL permutation
От: Кодт Россия  
Дата: 19.12.12 15:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как последовательно перебрать все перестановки списка


На каком языке?

В питоне есть библиотека itertools и в ней функция permutations.
Она отдаёт тупой генератор всех перестановок исходного списка.
Тупой — потому что, если в списке есть одинаковые элементы, то на выходе будут встречаться одинаковые списки.

Для списков, над элементами которых определена операция сравнения, — есть алгоритм Дональда Кнута, порождающий уникальные перестановки.
C++никам он хорошо знаком под именем std::next_permutation (только он не над списками, а над изменяемыми массивами)
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.