
- •Зміст дисципліни.
- •Найменування тем, їхній зміст, обсяг у годинах лекційних занять
- •Вказівки з використанНя літературних джерел
- •Алгоритми й структури даних
- •Стеки, списки
- •Дерева пошуку Бінарні дерева
- •Двійкові дерева
- •Червоно- чорні дерева
- •Частково впорядковані дерева Статья I.При створенні чуд елементи вводилися в наступному порядку: (13, 6, 15, 5, 10, 6, 3, 13, 5, 6, 35, 8). Пояснити побудова (переформування) дерева.
- •Рекурсія
- •Перебір з поверненням
- •Машина Тьюрінга
- •Приклади Послідовний пошук
- •Структури даних. Масиви Решето Ератосфена
- •Обчислення найближчої точки
- •Структури даних. Списки Приклад циклічного списку (задача Йосипа)
- •Сортування методом вставки в список
- •Звертання порядку проходження елементів списку
- •Структури даних. Рядки Сортування масиву рядків
- •Абстрактні типи даних (атд) Інтерфейс абстрактного типу даних стека
- •Реалізація черги fifo на базі масиву
- •Реалізація черги fifo на базі зв'язного списку
- •Перетворення з інфіксної форми в постфіксну
- •Рекурсія Алгоритм Евклида
- •Рекурсивна програма для оцінки префіксних виразів
- •Розв’язання
- •Приклад 2 Завдання
- •Розв’язання
- •Приклад 3 Завдання
- •Розв’язання
- •Приклад 4 Завдання
- •Розв’язання
- •Приклад 5 Завдання
- •Розв’язання
- •Приклад 6 Завдання
- •Розв’язання
- •Приклад 7 Завдання
- •Розв’язання
- •Алгоритм роботи машини т’юринга
- •Дослідження функції на рекурсивність
- •Нормальні алгоритми Маркова
- •Алгоритм роботи програми.
- •Приклад роботи програми.
- •Варіанти курсових робіт
- •Варіанти виконання Алгоритм виконання курсової роботи:
- •Приклад1.
- •Побудова моделі.
- •Розроблення алгоритму.
- •Правильність алгоритму.
- •Реалізація алгоритму.
- •Перевірка програми.
- •Приклад2
- •Постановка задачі
- •Перший варіант розв’язку
- •Другий варіант розв’язку.
- •Приклад3
- •Опукла оболонка
- •Метод обходу Грехема
- •Метод обходу Джарвіса
- •Алгоритм апроксимації опуклої оболонки
- •Швидкі методи побудови опуклої оболонки
- •Алгоритм типу розділяй та пануй
- •Побудова опуклої оболонки простого многокутника
- •Динамічні алгоритми побудови опуклої оболонки
- •Порівняльний аналіз алгоритмів побудови опуклої оболонки
- •Висновки
Вказівки з використанНя літературних джерел
До розділу 5:
С. Гудман, С. Хидетниеми. Введение в разработку и анализ алгоритмов.- Москва: Мир, 1981. – 366 с.
Розглядаються етапи побудови алгоритму, матоди розробки алгоритмів, методи оцінок алгоритмів та деякі структури даних: списки, черги, стеки, дерева тощо.
Роберт Седжвик. Фундаментальные алогоритмы на С, 3 редакция. - Киев: издательство «DiaSoft», 2003г.- 1127с.
Розглядаються принципи аналізу алгоритмів, рекурсіі, структури даних: масиви, дерева, рядки, списки, метода сортування, хешування та хеш-функції.
Кормен «Алгоритми: побудова та аналіз»
В даних книгах розгладаються структури даних, етапи розробки алгоритмів, наведена велика кількість прикладів.
До розділу 6:
1) Марков А.А., Нагорный Н.М. Теория алгоритмов. -М.: Наука, 1984.- 420с.
2) Мальцев А.И. Алгоритмы и рекурсивные функции. -М.: Наука, 1986. 320с.
До розділу 7:
1) Гери М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. - М.: Мир, 1982.-420с.
2) Катленд Н. Вычислимость. - М.: Мир, 1983.-180с.
До розділу 8:
1) Ющенко К.Л., Суржко С.В., Цейтлин Г.О., Шевченко А.І. Алгоритмічні алгебри: Навч.посібник. - К.:ІЗМН, 1997. - 480 с.
2) Глушков В.М., Цейтлин Г.Е., Ющенко Е.Л. Алгебра. Языки. Программирование. - К.: Наукова думка, 1984.-360с.
ВПРАВИ
(без зірочки) - година виконання задачі 5-20 хв.
* - задачі підвищеної складності (45-60 хв.)
п – задачі для програмування
Алгоритми й структури даних
Кодування-декодування. Один елементарний шифр складається з того, щоб поставити букви алфавіту до взаємно-однозначної відповідності з буквами відсортованого алфавіту. Наприклад:
Алфавіт: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Букви коду : MTJCZEOKLNSUXYADFBWVG H I P R Q, тоді слово CODE буде зашифроване як JACS.
Побудуйте, перевірте, та оформіть документацією алгоритм, для якого код є уведенням та який кодує та декодує будь-які запису.
Для довільної трійки чисел (х, в, z) повністю побудувати алгоритм, що визначає, чи існує трикутник зі сторонами х, в, z.
Алгебра складності.
Покажіть, що f(n)=3.7n2+100.8n+10 має порядок ПРО(n2) при n→∞.
Покажіть, що f(n)= 2n/100—100 має порядок ПРО(2") при n→∞.
Покажіть, n! має порядок ПРО(nn) при n→∞.
Покажіть, що 2n зростає при n→∞ швидше, ніж будь-який поліном від n обмеженого ступеня.
Побудуйте алгоритм, що перетворює будь-яку додатне ціле число, що записане в арабських числах, до системи римських чисел та навпаки.
Розробіть два різних алгоритми для генерації випадкових перестановок. Порівняйте їх ефективність.
Розробіть алгоритм, що обчислює значення функції F(n)=m, де n-кількість знаків, що містяться в десятковому записі n!.
Відомо, що година виконання одному алгоритму дорівнює O(N log), а година виконання іншого алгоритму дорівнює O(N3). Що можна сказати про відносну ефективність даних алгоритмів?
Відомо, що година виконання одному алгоритму приблизно дорівнює N log, а година виконання іншого алгоритму приблизно дорівнює N3 . Що можна сказати про відносну ефективність даних алгоритмів?
Відомо, що година виконання одному алгоритму приблизно дорівнює N log, а година виконання іншого алгоритму дорівнює O(N3). . Що можна сказати про відносну ефективність даних алгоритмів?
Відомо, що година виконання одному алгоритму завжди пропорційний N log, а година виконання іншого алгоритму завжди пропорційний N3. Що можна сказати про відносну ефективність даних алгоритмів.
Відсортувати задану послідовність чисел вказаним методом, пояснити послідовність кроків алгоритму та оцінити година роботи алгоритму:
Проста вставка
методом Шелла
швидке сортування Хоару
пірамідальне сортування
природне двошляхове злиття
фіксоване двошляхове злиття
порівняння й підрахунок
розподільний підрахунок
бінарне сортування (метод ділення відрізку навпіл)
* Задача комівояжера. Знайдіть оптимальне рішення задачі комівояжера, зображеній на малюнку, застосувавши алгоритм ETS.
* Побудуйте алгоритм, що генерує всі перестановки перших n цілих додатних чисел. Чи підходить ваш алгоритм до кроку 2 алгоритму ETS?
* Побудуйте під алгоритм для побудови турів до кроку 3 алгоритму ETS.
* Розглянемо матрицю коштів Із задачі комівояжера з n містами. Якщо мі візьмемо n елементів з Із таким чином, що лише один елемент буде вибрано з шкірного рядка та стовпчика, чи будуть відрізки шляху, що відповідають елементам, утворювати тур?