
- •Министерство образования и науки Украины
- •О.Н. Паулин
- •Приложение г Сравнение методов сортировки массивов
- •1. Содержание и порядок выполнения курсовой работы
- •1.1. Общие положения
- •Разработка эффективных алгоритмов.
- •1.2. Задания на разработку
- •Образец заполнения
- •Образец титульного листа
- •1.3. Рекомендации к выполнению курсовой работы
- •2. Примеры выполнения курсовой работы
- •2.I. Разработка эффективных алгоритмов
- •2.2. Построение машины Тьюринга
- •2.2.1. Вычисления на машине Тьюринга
- •Словесное описание алгоритма
- •Пример 2.3.
- •2.2.2. Примеры построения машин Тьюринга
- •В алгоритме имеются две операции выбора:
1.2. Задания на разработку
Алгоритмы выбираются из следующих списков.
Алгоритмы покрытия:
A1 - по методу "минимальный столбец - максимальная строка";
A2 - построение одного кратчайшего покрытия;
A3 - построение одного минимального покрытия;
A4 - граничный перебор по вогнутому множеству;
*А5 - построение циклического остатка;
*A6 - разложение по столбцу;
*A7 - по методу ветвей и границ.
Алгоритмы на графах:
B1 - нахождение кратчайшего пути;
B2 - алгоритм Дейкстры нахождения кратчайшего пути;
B3 - нахождение длиннейшего пути;
B4 - построение минимального остова;
B5 - построение системы независимых циклов;
B6 - нахождение компонент связности;
*B7 - кратчайшая раскраска;
*B8 - определение максимального потока в сети;
*B9 - определение минимального потока в сети.
Алгоритмы сортировки:
C1 - сортировка бинарными включениями;
C2 - шейкер-сортировка;
C3 - сортировка Шелла;
*C4 - пирамидальная сортировка;
*C5 - быстрая сортировка.
6
Приложение Б
Образец заполнения
Мiнiстерство освiти Украiни
Одеський ДЕРЖАВНИЙ полiтехнiчний унiверситет
Факультет автоматики та обчислювальноi технiки
Кафедра системного програмного забезпечення
З а в д а н н я
на курсовий проект з дисципліни
"Теорiя алгоритмiв та обчислювальних процессiв"
студенту Ковальову С.Д. групи АС - 982
1. Тема проекту "Розробка ефективного алгоритму та машини Тьюрiнга"_______________________________________________
2. Вихіднi данi до проекту Алгоритм - С2: шейкер-сортирування, 12 чисел; машина Тьюрiнга - МТ7: складання двох помiчених чисел a и b; сума знаходиться справа вiд послiдовностi чисел. ____________________________________________________
3. Змiст розрахунково-пояснювальноi записки (перелiчити тi питання, якi треба розробити): 1. Алгоритм шейкер-сортирування. 2. Функцiональнi схеми МТ, якi виконують операцiю складання; аналiз аварiйних ситуацiй
4. Перелiк графічного матерiалу (вказати обов’язковi рисунки):
Л1.Основна схема алгоритму та схеми
Л2. Схема алгоритму та функцiональна схема машини Тьюрiнга, приклад розв’язання задачі
5. Основна лiтература до проекту: 1) МУ к курс. работе по курсу «Теория алгоритмов» /: ОГПУ, 1999 2) МУ к практ. занятиям по курсу «Теория алгоритмов» /: ОГПУ, 1996
6. Додатковi матерiали до проекту ЕСПД
Дата видачi завдання __________
Дата захисту проекту ___________
Керiвник ______________(пiдпис)
Завдання прийняв до виконання_____(пiдпис)
31
Приложение А
Образец титульного листа
Мiнiстерство освiти України
Одеський державний полiтехнiчний унiверситет
Кафедра системного програмного забезпечення
Курсова робота
з дисципліни
"Теорiя алгоритмiв та обчислювальних процесiв"
СПОТА.98213 - 01 81 01
Виконав студент групи АС-982
...(мiсце для пiдпису) ... (прізвище та iнiцiали)
Керiвник ... (посада)
...(мiсце для пiдпису) ... (прізвище та iнiцiали)
Загальна оцiнка
Дата
...
... (пiдписи членiв комісiї)
Одеса – 2000
30
Примечания:
1. Алгоритмы А6 и А7 строятся, считая, что циклический остаток уже есть.
2. Простые алгоритмы описаны в [4], более сложные - в [5,6].
Задания по построению машины Тьюринга выбираются из следующего списка.
МТ1. Сравнение двух отмеченных символом "*" чисел a и b в последовательности. В качестве результата справа от этой последовательности должен стоять знак отношения: ">", "<" либо "="; числа при этом должны быть сохранены.
МТ2. Сложение двух отмеченных символом "*" чисел a и b в последовательности. Справа от неё должна находиться сумма.
МТ3. Определение остатка от деления числа a на 3.
МТ4. Определение середины последовательности чисел. Если количество чисел чётное, то поставить один символ "*" в середине последовательности вместо пустой ячейки; если же количество чисел нечётное, то "окаймить" символом "*" центральное число.
МТ5. Пересылка отмеченного символом "*" числа на место первого слева, остальные числа сдвигаются.
МТ6. Пересылка отмеченного символом "*" числа на место за последним справа, остальные сдвигаются.
МТ7. Копирование системы чисел (x1, x2 ..., xn). Должно получиться: (x1, x2, .., xn, x1, x2, ...,xn).
МТ8. Обмен двух отмеченных символом "*" чисел a и b в последовательности.
МТ9. Разметка чисел в последовательности с шагом 3. Это значит, что необходимо вместо пустого символа поставить символ "*" после каждого третьего числа.
*МТ10. Разметка чисел в последовательности с шагом k, заданным на ленте на месте самого левого числа. Необходимо символ "*" поставить вместо пустого символа после каждого k-го числа.
*МТ11. Определение середины последовательности чисел и обмен рядом стоящих у середины чисел местами. Принять, что количество чисел - чётное. Отметить середину последовательности символом *.
*МТ12. Сравнение двух трехразрядных чисел (3 десятичных разряда в каждом). Начальная конфигурация на ленте:
11 v 11...1*11...1*11...1 v 11...1*11...1*11...100....
а b
7
здесь a и b - числа, которые необходимо сравнить; v - указатель на числа; * - разделитель между разрядами для трехразрядных чисел. В результате справа от последовательности чисел должны стоять знаки отношения: ">", "<" либо "=".
*МТ13. Вычислить выражение: 2(a+b)-c.
*МТ14. Вычислить выражение: 2a+b-3c.
*МТ15. Вычислить выражение: a-3b-2c.
Примечания:
1.Числа a, b, c, ... расположены на ленте в порядке перечисления.
-
Начальное расположение головки задаётся руководителем курсовой работы (по умолчанию - стандартное).