Рубрики

Программа Python для печати всех перестановок данной строки

Перестановка, также называемая «номером расположения» или «порядком», представляет собой перестановку элементов упорядоченного списка S в соответствие один к одному с самим S. Строка длиной n имеет n! перестановка.
Источник: Mathword ( http://mathworld.wolfram.com/Permutation.html )

Ниже приведены перестановки строки ABC.
ABC ACB BAC BCA CBA CAB

# Программа Python для печати всех перестановок с
# разрешено дублирование

  

def toString(List):

    return ''.join(List)

  
# Функция для печати перестановок строки
# Эта функция принимает три параметра:
# 1. Строка
# 2. Начальный индекс строки
# 3. Конечный индекс строки.

def permute(a, l, r):

    if l == r:

        print toString(a)

    else:

        for i in xrange(l, r + 1):

            a[l], a[i] = a[i], a[l]

            permute(a, l + 1, r)

            a[l], a[i] = a[i], a[l] # возврат

  
# Драйвер программы для проверки вышеуказанной функции

string = "ABC"

n = len(string)

a = list(string)

permute(a, 0, n-1)

  
# Этот код предоставлен Bhavya Jain

Выход:

ABC
ACB
BAC
BCA
CBA
CAB

Пожалуйста, обратитесь к полной статье на Написать программу для печати всех перестановок данной строки для более подробной информации!

Рекомендуемые посты:

Программа Python для печати всех перестановок данной строки

0.00 (0%) 0 votes