- •Поняття алгоритму. Властивості алгоритмів. Виконавці алгоритмів. Математичні основи аналізу алгоритмів (о нотація).
- •Базові структури алгоритмів. Основні властивості базових структур алгоритмів.
- •Алгоритми сортування, їх характеристики та оцінка.
- •Алгоритм сортування методом прямого обміну.
- •Алгоритм сортування методом вставки.
- •Алгоритм сортування методом Шелла.
- •Алгоритм сортування методом Хоара.
- •Алгоритм сортування пірамідальним методом.
- •Основні структури даних.
- •Алгоритми шифрування інформації. Загальна характеристика, класифікація.
- •Алгоритм шифрування rsa.
- •Компілятори інтерпретатори, основні поняття.
- •Списки, черги основні поняття. Приклади реалізації.
- •Зворотня польська нотація. Основні поняття , використання.
- •Графи , алгоритм Дейкстри
Компілятори інтерпретатори, основні поняття.
Транслятори – це програми, які перетворюють вхідний текст у мову, яку розуміє процесор. Транслятор = компілятор+інтерпретатор.
Інтерпретатор – перекладає і виконує програму рядок за рядком.
Інтерпретатори можуть працювати як з сирцевим кодом програми, написаним мовою програмування, так і з байт-кодом (інтерпретатори байт-коду).
Компілятор – читає всю програму одразу, виконує її переклад та створює кінцевий варіант програми на машинній мові, який згодом і виконується. Цей процес називають компіляцією (трансляцією, перекладом). Він складається з двох частин:
Аналіз – розбиття початкової програми на складові частини та створення проміжного представлення
Синтез – побудова цільової програми з проміжного представлення
Фази компіляції:
Лексичний аналізатор
Синтаксичний аналізатор
Семантичний аналізатор
Генератор проміжного коду
Оптимізатор
Генератор цільового коду
----------------------------------------------------
Списки, черги основні поняття. Приклади реалізації.
Черга в програмуванні — динамічна структура даних, що працює за принципом "перший прийшов - перший пішов" (англ. FIFO — first in, first out). У черги є голова та хвіст. Елемент, що додається до черги, опиняється в її хвості. Елемент, що видаляється з черги, знаходиться в її голові.
Така черга повністю аналогічна звичній "базарній" черзі, в якій хто перший встав в неї, той першим буде обслуженим (але, на відміну від реальної черги, імовірність пройти поза чергою виключена)
"поставити в чергу". Операція додавання елемента в "хвіст" черги. При цьому довжина черги збільшується на одиницю. Якщо відбувається намагання додати елемент у вже заповнену чергу, відбувається її переповнення.
"отримання з черги". Операція, яка повертає елемент з голови та видаляє його з черги, таким чином встановлюючи голову на наступний за видаленим елемент та зменшуючи довжину на одиницю. При намаганні видалити елемент з пустої черги, виникає ситуація "незаповнення"
Зв'язаний список в програмуванні — одна з найважливіших структур даних, в якій елементи лінійно впорядковані, але порядок визначається не номерами елементів, а вказівниками, які входять в склад елементів списку та вказують на наступний за даним елемент (в однозв'язаних або однобічно зв'язаних списках) або на наступний та попередній елементи (в двозв'язаних або двобічно зв'язаних списках). Список має «голову» — перший елемент та «хвіст» — останній елемент.
Зворотня польська нотація. Основні поняття , використання.
1+АВ – префіксна, АВ+ - постфіксна, А+В – інфіксна.
Властивості:
Обчислення виразу за 1 прохід.
Одержати зворотній польський запис використовуючи алгоритм Дейкстри.
( 0, ) 1, +- 2, */ 3, ** 4.
Вхідний рядок переглядається зліва направо при цьому операнди переписуються в вихідний рядок, а знаки операцій в стек заносяться у правилах:
Якщо стек порожній, то операція з вхідного рядка у стек.
Операція виштовхує зі стека в вихідний рядок з більшими чи рівним пріоритетом.
Якщо черговий символ вхідного рядка є ( вона поміщається в стек.
) виштовхує від операції зі стека до найближчої (.
----------------------------------------------------