
- •Зміст дисципліни.
- •Найменування тем, їхній зміст, обсяг у годинах лекційних занять
- •Вказівки з використанНя літературних джерел
- •Алгоритми й структури даних
- •Стеки, списки
- •Дерева пошуку Бінарні дерева
- •Двійкові дерева
- •Червоно- чорні дерева
- •Частково впорядковані дерева Статья I.При створенні чуд елементи вводилися в наступному порядку: (13, 6, 15, 5, 10, 6, 3, 13, 5, 6, 35, 8). Пояснити побудова (переформування) дерева.
- •Рекурсія
- •Перебір з поверненням
- •Машина Тьюрінга
- •Приклади Послідовний пошук
- •Структури даних. Масиви Решето Ератосфена
- •Обчислення найближчої точки
- •Структури даних. Списки Приклад циклічного списку (задача Йосипа)
- •Сортування методом вставки в список
- •Звертання порядку проходження елементів списку
- •Структури даних. Рядки Сортування масиву рядків
- •Абстрактні типи даних (атд) Інтерфейс абстрактного типу даних стека
- •Реалізація черги fifo на базі масиву
- •Реалізація черги fifo на базі зв'язного списку
- •Перетворення з інфіксної форми в постфіксну
- •Рекурсія Алгоритм Евклида
- •Рекурсивна програма для оцінки префіксних виразів
- •Розв’язання
- •Приклад 2 Завдання
- •Розв’язання
- •Приклад 3 Завдання
- •Розв’язання
- •Приклад 4 Завдання
- •Розв’язання
- •Приклад 5 Завдання
- •Розв’язання
- •Приклад 6 Завдання
- •Розв’язання
- •Приклад 7 Завдання
- •Розв’язання
- •Алгоритм роботи машини т’юринга
- •Дослідження функції на рекурсивність
- •Нормальні алгоритми Маркова
- •Алгоритм роботи програми.
- •Приклад роботи програми.
- •Варіанти курсових робіт
- •Варіанти виконання Алгоритм виконання курсової роботи:
- •Приклад1.
- •Побудова моделі.
- •Розроблення алгоритму.
- •Правильність алгоритму.
- •Реалізація алгоритму.
- •Перевірка програми.
- •Приклад2
- •Постановка задачі
- •Перший варіант розв’язку
- •Другий варіант розв’язку.
- •Приклад3
- •Опукла оболонка
- •Метод обходу Грехема
- •Метод обходу Джарвіса
- •Алгоритм апроксимації опуклої оболонки
- •Швидкі методи побудови опуклої оболонки
- •Алгоритм типу розділяй та пануй
- •Побудова опуклої оболонки простого многокутника
- •Динамічні алгоритми побудови опуклої оболонки
- •Порівняльний аналіз алгоритмів побудови опуклої оболонки
- •Висновки
Алгоритм роботи машини т’юринга
Скопіювати в кінець стрічки послідовно X та V.
Продублювати ще раз X вкінці стрічки.
Знайти залишок від ділення третього та четвертого аргументів на стрічці. Тобто гest:(х,у)
Перевірити чи менший X за У. Якщо так, то перейти на крок 3.4.
Відняти від X аргумент У.
Перейти на крок 3.1.
Стерти аргумент У.
Перемістити останній аргумент (X) до передостаннього геst(Х,У), залишивши між ними проміжок в одну клітинку.
Піднести третій аргумент на стрічці геst(х,у) до ступеня четвертого аргументу X.
.Записати одиницю після X.
Цикл довжиною рівний X.
Цикл довжиною рівний геst(х,у)-1.
Додати до результату (останнього аргументу) таке саме число.
Зафіксувати результат.
Видалити третій та четвертий аргументи, змістивши значення функції до кінця другого.
Кінець.
Дослідження функції на рекурсивність
Запишемо нашу функцію rеst(х,у)х у вигляді g(u(х,у),v(х,у))=uv, де u(х,у)=геst(х,у),v(х,у)=х. Функція g(х,у) примітивно-рекурсивна, функція v(х,у) також примітивно-рекурсивна. Тому за правилом суперпозиції, щоб функція геst(х,у)х була рекурсивна,треба щоб функція геst(х,у) була рекурсивна.
Доведення рекурсивності функції геst(х,у). Розглянемо цю функцію як суперпозицію k(р(x,y),(x,y))=p - q, де р(х,у)=х, q(х,у)=[х/у]*у. Функція р - q примітивно-рекурсивна,функція р(х,у) - також. Щоб функція геst(х,у) була рекурсивна, треба щоб функція q(х,у)була рекурсивна.
Доведеннярекурсивностіфункції[х/у]*у.Розглянемоїїяксуперпозицію l(m(х,у),n(х,у))=m*n, де m(х/у)=[х/у], n(х,у)=у. Функція l(m,n) - примітивно-рекурсивна,функція n(х,у) - також. Тобто треба довести рекурсивність функції [х/у].
Доведення рекурсивності функції [х/у]. а) [0/у]=0.б)[х+1/у]=[х/у]+[1/у]=[х/у]+[sg(у+1)]=[х/у]+sg(y+1).Функція sg(у+1) - примітивно-рекурсивна. Тому й функція [х/у] примітивно-рекурсивназа правилом примітивної рекурсії і тому, що для цього виведення були використані лише примітивно-рекурсивні функції та правило примітивної рекурсії.
Так як ми при виведенні рекурсивності функції геst(х,у)х використовували лише примітивно-рекурсивні функції та застосовували лише правила суперпозиції та правило примітивної рекурсії, то функція геst(х,у)х - примітивно-рекурсивна.
Нормальні алгоритми Маркова
Програма.
На вході програми стрічка у вигляді ;111/1111;. Це означає, що х=2, у=3. На виході стрічка має вигляд [11111], що значить 4.
№ |
Правило |
1 |
;1→< |
2 |
1;→> |
3 |
<1→<ха |
4 |
а1→аха |
5 |
ха→ах |
6 |
ах→а^x |
7 |
х/1→х/bс |
8 |
cl→cbc |
9 |
be→cb |
10 |
х/с→/ |
11 |
cb→ |
12 |
b>→l> |
13 |
bl→11 |
14 |
/l→k |
15 |
kl→kk |
16 |
Aa^k→aa^nd |
17 |
dk→dnd |
18 |
nd→dn |
19 |
dn→d&n |
20 |
aaa^d→aa!^d |
21 |
n>→n=> |
22 |
d&→?&D |
23 |
Dn→nzD |
24 |
D=→ |
25 |
zn→nz |
26 |
nz→n=z |
27 |
?→ |
28 |
^&→^ |
29 |
z→e |
30 |
n=e→ne |
31 |
ne→en |
32 |
!^ee→^de |
33 |
de→dd |
34 |
<aa^→< |
35 |
n→ |
36 |
=→ |
37 |
<a^k→<a^e |
38 |
ek→ee |
39 |
<^kk→<^k |
40 |
^k→e |
41 |
<a^e→<e |
42 |
>→1] |
43 |
<→[ |
44 |
e→l |