Предположим, вам нужно обнаружить все возможные перестановки 'n' различных символов, например 'a', 'b', 'c'. Можете ли вы предложить алгоритм, который я могу использовать, чтобы это сделать? Вообще-то, как бы вы это сделали?Перестановка по массиву символов
3
A
ответ
1
Let 'Perms' - это набор найденных перестановок, а «Used» - список выбранных символов.
Чтобы найти перестановок п символов из множества S:
- Если п = 0, то используется подстановка. Добавьте его в Пермь и верните.
- Для каждого полукокса C в S:
- Remove C из S и добавить (или толкать) его U.
- Найти перестановки N-1 символов из S.
- Удалить конец (или поп) U и добавить C к S.
Когда вы вернулись от поиска перестановок п символов, завивка содержит все возможные перестановки.
Обратите внимание, что все это делается с использованием наборов и списков. Есть альтернативы с более легким весом, но эти структуры делают шаги более простыми, поэтому я их использовал.
1
Существует реализация Java here.
Смежные вопросы
- 1. Поиск по массиву символов
- 2. Разбивает строку по массиву символов
- 3. Перемещение по массиву символов C++
- 4. Случайная перестановка символов Java
- 5. Перестановка индекс массива, чтобы соответствовать другому массиву
- 6. Бесконечный цикл при итерации по массиву символов
- 7. Бит Манипуляция по массиву символов в c
- 8. Перестановка пары символов в строке
- 9. Лучший способ петли по массиву символов по строке
- 10. Перестановка по циклу
- 11. Назначение массива символов массиву символов в структуре
- 12. Перестановка символов в файле, несколько раз
- 13. Каждая перестановка алфавита до 29 символов?
- 14. Перестановка расположения символов в строке (bash)
- 15. JavaScript: Перестановка значений массива по индексу
- 16. соответствие регулярному выражению массиву символов
- 17. Проверка двух условий при итерации по массиву символов
- 18. - String.Contains() быстрее, чем ходьба по всему массиву символов в строке?
- 19. C-программа, которая ищет по массиву, чтобы найти последовательность символов.
- 20. Итерация по числу и перестановка по убыванию
- 21. Задание или доступ к массиву символов массиву массива в Python
- 22. Переназначение значения массиву символов не работает
- 23. C# утверждение по массиву
- 24. AngularJS - Фильтр по массиву?
- 25. Среднее по массиву
- 26. Перемещение по массиву 1D
- 27. OpenTBS итерация по массиву
- 28. поиск по массиву записей
- 29. Сортировать по массиву строк?
- 30. Динамический поиск по массиву