Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс_заочн(27 вар).doc
Скачиваний:
79
Добавлен:
21.12.2018
Размер:
444.93 Кб
Скачать

Генерирование всех перестановок заданного множества в антилексикографическом порядке

Антилексикографический порядок (обозначим  ) определяется следующим образом:

x1,x2,…xn < y1,y2,…,y n  существует такое kn, что xk  yk и xp = yp для каждого p  k..

Для примера приведем перестановки множества X = {1,2,3} в антилексикографическом порядке: 123, 213, 132, 312, 231, 321.

Алгоритм генерирования перестановок в антилексикографическом порядке сформулировать удобнее. Заметим, что последовательность перестановок множества {1,2,…, n} в этом случае имеет следующие свойства, вытекающие непосредственно из определения:

  1. в первой перестановке элементы идут в растущей последовательности, в последней – в убывающей другими словами, последняя перестановка – обращение первой,

  2. последовательность всех перестановок можно разделить на n блоков длины (n-1), соответствующих убывающим значениям элемента в последней позиции. Первые n-1 позиций блока, содержащего элемент р в последней позиции, определяют последовательность перестановок множества {1,2,…, n}\{р} в антилексикографическом порядке.

Сгенерируем в антилексикографическом порядке все перестановки для n=4, получим

1

2

3

4

1

2

4

3

1

3

4

2

2

3

4

1

2

1

3

4

2

1

4

3

3

1

4

2

3

2

4

1

1

3

2

4

1

4

2

3

1

4

3

2

4

2

3

1

3

1

2

4

4

1

2

3

4

1

3

2

2

4

3

1

2

3

1

4

2

4

1

3

3

4

1

2

3

4

2

1

3

2

1

4

4

2

1

3

4

3

1

2

4

3

2

1

      1. Построить гамильтонов цикл в графе, используя нерекурсивный алгоритм генерации всех перестановок вершин в лексикографическом порядке

      1. Построить гамильтонов цикл в графе, используя рекурсивный алгоритм генерации всех перестановок вершин в лексикографическом порядке

      1. Построить гамильтонов цикл в графе, используя рекурсивный алгоритм генерации всех перестановок вершин в антилексикографическом порядке.

      1. Построить гамильтонову цепь в графе, используя нерекурсивный алгоритм генерации всех перестановок вершин в лексикографическом порядке

      2. Построить гамильтонову цепь в графе, используя рекурсивный алгоритм генерации всех перестановок вершин в лексикографическом порядке

      3. Построить гамильтонову цепь в графе, используя рекурсивный алгоритм генерации всех перестановок вершин в антилексикографическом порядке.

      4. Построить гамильтонов цикл в графе, используя алгоритм с возвратом.

      5. Построить гамильтонову цепь в графе, используя алгоритм с возвратом.

    1. Построение остова минимального веса

Граф G называется деревом, если он является связным и не имеет циклов.

Остовом связного графа G называется любой его подграф, содержащий все вершины графа G и являющийся деревом.

Остовное дерево связного нагруженного графа G с минимальной суммой длин содержащихся в нем ребер, будем называть остовом минимального веса или минимальным остовным деревом (МОД).

Рассмотрим граф G = (V,X), где V={v1,…,vn}.