Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RPUD-PI-Informatika-v30.doc
Скачиваний:
2
Добавлен:
27.08.2019
Размер:
604.67 Кб
Скачать

9. Перебор

http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B5%D1%80%D0%B5%D0%B1%D0%BE%D1%80

http://algolist.manual.ru/maths/combinat/sequential.php

Упражнение 9.01. [0] Расставить по шахматной доске 8 ферзей так чтобы они не били друг друга, генерировать их таким образом, чтобы первый ферзь ставился случайно (можно в первый ряд/строку)

Упражнение 9.02. [0] Магический квадрат — это матрица размера 3*3, где в ячейках стоят целые числа из интервала [1..9].

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

Упражнение 9.03. [0] Дан случайный набор чисел, разбить их на две группы минимизировав разницу суммарного веса каждой

Упражнение 9.04. [1] Решить задачу о рюкзаке: дан список вещей имеющих вес и стоимость. Набрать в лимит веса L вещей так, чтобы сформированный рюкзак имел максимальную стоимость. "Пилить" вещь нельзя

Упражнение 9.05. [1] Дан лабиринт на плоскости, состоящий из N*N комнат, в каждой комнате может быть от 0 до 4х дверей расположенных по различным сторонам света крайние комнаты дверей за пределы квадрата не имеют. Найти путь из левого верхнего угла в правый нижний с помощью рекурсии

Упражнение 9.06. [2] По данной корректной позиции игры крестики-нолики 3x3 подсчитать вероятность выигрыша первого игрока (отношение благоприятных исходов к полному количеству)

Упражнение 9.07. [2] Дана булева формула с N переменными объединенными связками AND, OR, NOT. Проверить, есть ли набор таких переменных, что формула принимает значение true.

Упражнение 9.08. [2] Дана доска 3*3, играем по правилам игры в 15. Решить перемешанную комбинацию, либо выяснить что она не имеет решения.

10. Бинарные деревья и поиск

http://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%BE%D0%B5_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0

http://www.rsdn.ru/article/alg/binstree.xml

http://rk6.bmstu.ru/electronic_book/posapr/zadanpo/bintree.htm

http://rain.ifmo.ru/cat/view.php/vis/trees/binary-search-2001

http://www.youtube.com/watch?v=cUHg0sob4Wc&feature=related

Упражнение 10.01. [0] Реализовать бинарный поиск в отсортированном массиве. Так же реализовать операции вставки и удаления с сохранением порядка.

Упражнение 10.02. [1] Реализовать бинарный поиск в массиве с использованием компаратора (корректную вставку, удаление)

Упражнение 10.03. [1] Реализовать объект "куча" - в массиве записано двоичное дерево, на позиции 2*n и 2*n + 1 стоят соответственно левый и правый ребенок. Должны быть операции добавления, удаления, поиск и обход (любой)

Упражнение 10.04. [2] В объекте "куча" реализовать три обхода описанных в википедии

11. Перестановки

http://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0

http://algolist.manual.ru/maths/combinat/permutations.php

http://portal.tpu.ru/SHARED/n/NEN/Page_2/Page_8/Tab1/lek.pdf

Упражнение 11.01. [0] Найти ранг(степень) перестановки.

Упражнение 11.02. [0] Сгенерировать перестановку по номеру.

Упражнение 11.03. [0] Получить номер по перестановке.

Упражнение 11.04. [0] Найти количество циклов в перестановке и вывести их.

Упражнение 11.05. [1] Напечатать сколько возможно перестановок вида <цикл длины N1><цикл длины N2>.. и вывести их.

Упражнение 11.06. [1] Дан набор перестановок, упорядочить их по возрастанию.

Упражнение 11.07. [2] Сгенерировать все перестановки с циклами длины меньше N.

Упражнение 11.08. [2] Близость перестановки A к B есть сумма длин совпадающих циклов деленное на длину перестановки. Вычислить близость для двух заданных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]