- •1. Інформаційні технології та інформаційні системи
- •1. Інструментальні засоби розробки інформаційних технологій, case-технології
- •1. Інформаційні технології та інформаційні системи
- •2. Критерії надійності та якості інформаційних систем.
- •1. Інформаційні технології та інформаційні системи
- •3. Застосування інформаційних технологій у виробництві
- •Управленческий учет и отчетность
- •Автоматизированные информационные системы
- •1. Інформаційні технології та інформаційні системи
- •4. Застосування інформаційних технологій у банківській та фінансовій справі
- •1. Інформаційні технології та інформаційні системи
- •5. Безпека функціонування інформаційних систем
- •1. Інформаційні технології та інформаційні системи
- •6. Засоби моделювання автоматизованих інформаційних систем
- •1. Інформаційні технології та інформаційні системи
- •7. Моделі життєвого циклу програмних засобів.
- •Waterfall («водоспад», каскадна модель)
- •Прототипування
- •Ітераційна модель
- •Життєвий цикл «спіраль»
- •1. Інформаційні технології та інформаційні системи
- •1. Інформаційні технології та інформаційні системи
- •9. Класифікація запитів
- •1. Інформаційні технології та інформаційні системи
- •10. Реляційна модель Кодда. Реляційна алгебра
- •1. Інформаційні технології та інформаційні системи
- •11. Функціонально повна залежність. 2-нормальна форма (2нф).
- •1. Інформаційні технології та інформаційні системи
- •12. Мінімальна структура функціональних залежностей
- •1. Інформаційні технології та інформаційні системи
- •13. Аксіоми Армстронга
- •1. Інформаційні технології та інформаційні системи
- •14. Третя нормальна форма та третя нормальна форма Бойса-Кодда
- •1. Інформаційні технології та інформаційні системи
- •15. Багатозначні залежності. 4-нормальна форма
- •1. Інформаційні технології та інформаційні системи
- •16. Стратегії розподілу даних в розподілених базах даних
- •1. Централізація.
- •2. Розчленування.
- •3. Дублювання.
- •4. Змішана.
- •2. Системне програмування
- •1. Поняття мовного процесора. Типи мовних процесорів. Основні фази мовного процесора.
- •2. Системне програмування
- •2. Скінченні автомати. Методика побудови лексичного аналізатора на основі скінченного автомата.
- •2. Системне програмування
- •3. Регулярні множини та регулярні вирази, їх звязок із скінченними автоматами. Основні тотожності в алгебрі регулярних виразів.
- •2. Системне програмування
- •4. Вивід у граматиці. Дерево виводу. Лівостороння та правостороння стратегії виводу.
- •2. Системне програмування
- •5. Ll(k)-граматики. Перевірка ll(1)-умови для довільної кв- граматики
- •2. Системне програмування
- •6. Побудова ll(1)-таблиці для управління ll(1)-синтаксичним аналізатором
- •2. Системне програмування
- •7. Атрибутний метод визначення семантики програм. Синтезовані та успадковані атрибути. Порядок та правила обчислення атрибутів.
- •2. Системне програмування
- •8. Машинно-орієнтовані мови програмування. Асемблери. Структура асемблера, перегляди тексту програми та відповідні бази даних.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •1. Розподіл оперативної пам’яті, поняття сегменту та зсуву. Сторінкова організація пам’яті.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •2. Канали та порти вводу-виводу
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •3. Поняття про переривання та їх класифікація
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •4. Поняття про відеосистему. Режими роботи відеосистеми
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •5. Структура таблиці розміщення файлів на магнітних дисках. Фізичний та логічний формати магнітних дисків. Коренева директорія.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •6. Системи телеобробки даних. Функціональне середовище для взаємодії систем телеобробки. Етапи у взаємодії систем телеобробки.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •7. Модель відкритої системи, стек протоколів. Концепція еталонної моделі osi.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •8. Стек протоколів tcp/ip: топологічні особливості, функції рівнів.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •9. Архітектура мережевої телеобробки: однорангова, клієнт/сервер, трирівнева
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •10. Надійність систем телеобробки та комп’ютерних мереж. Класи безпеки. Міжмережеві екрани. Proxy-сервери, брандмауери.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •11. Мультиплексування цифрових каналів з розділенням у часі (tdm). Плезіохронні та синхронні цифрові ієрархії. Широкосмугові канали зв’язку.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •12. Повторювачі, мости, маршрутизатори, шлюзи та їх місце в профілі osi
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •13. Поняття мереж комутації: пакетів, каналів, повідомлень. Контроль перевантажень в мережах комутації пакетів.
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •14. Інформаційна глобальна мережа internet
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •15. Система доменних імен глобальної мережі internet
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •16. Система електронної пошти глобальної системи internet
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •17. Поняття універсального вказівника ресурсу. Основні типи ресурсів
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •18. Поняття раутінгу в мережах tcp/ip
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •19. Технології, що забезпечують відмовостійкість мереж tcp/ip
- •3. Архітектура еом, комп’ютерні та інформаційні мережі
- •20. Класифікація комп’ютерних мереж.
- •4. Теорія програмування та обчислень
- •1. Основні аспекти програм
- •4. Теорія програмування та обчислень
- •2. Основні поняття програмування
- •4. Теорія програмування та обчислень
- •3. Методи подання синтаксису мов програмування
- •4. Теорія програмування та обчислень
- •4. Класифікація породжувальних граматик
- •4. Теорія програмування та обчислень
- •5. Автоматна характеристика основних класів мов
- •4. Теорія програмування та обчислень
- •6. Метод нерухомої точки
- •4. Теорія програмування та обчислень
- •7. Методи формальної семантики
- •4. Теорія програмування та обчислень
- •8. Формальні методи програмування
- •4. Теорія програмування та обчислень
- •9. Функції складності (сигналізуючі) за часом та за пам’яттю. Теорема про прискорення.
- •4. Теорія програмування та обчислень
- •10. Функції, елементарні за Кальмаром
- •4. Теорія програмування та обчислень
- •11. Співвідношення між класами примітивно рекурсивних та елементарних функцій
- •4. Теорія програмування та обчислень
- •12. Техніка слідів. Лема про заміщення
- •4. Теорія програмування та обчислень
- •13. Функції, обчислювані за реальний час
- •5. Системи штучного інтелекту
- •1. Знання. Класифікація знань
- •5. Системи штучного інтелекту
- •2. Фреймова модель задання знань
- •5. Системи штучного інтелекту
- •3. Семантичні мережі
- •5. Системи штучного інтелекту
- •4. Продукційна модель задання знань
- •5. Системи штучного інтелекту
- •5. Розпізнавання образів
- •5. Системи штучного інтелекту
- •6. Поняття діалогової системи та її компоненти
- •5. Системи штучного інтелекту
- •7. Теорія ігор. Експліцитні та імпліцитні дерева гри
- •5. Системи штучного інтелекту
- •8. Метод резолюцій як основа логічного виведення
- •5. Системи штучного інтелекту
- •9. Мова функціонального програмування лісп
- •5. Системи штучного інтелекту
- •10. Мова логічного програмування пролог
- •6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
- •1. Складність алгоритмів, зведення задач, нижні оцінки складності задач
- •6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
- •7. Означення та властивості діаграми Вороного. Побудова діаграми Вороного.
- •6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
- •11. Кільце остач від ділення на многочлен над скінченним полем
6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
1. Складність алгоритмів, зведення задач, нижні оцінки складності задач
Час, який витрачається алгоритмом, як функція розміру задачі, називається часовою складністю цього алгоритму. Гранична поведінка цієї складності при збільшені розміру задачі називається асимптотичною часовою складністю.
Аналогічно, можна виділити об’ємну складність та асимптотичну об’ємну складність.
Оцінки складності:
верхні оцінки: ;
нижні оцінки: ;
ефективні оцінки: ;
Позначенням визначаються функції, нехтувано малі у порівнянні з функцією . Вони визначаються умовою .
Зведення задач. Метод зведення використовується для встановлення оцінки складності однієї задачі за відомою оцінкою складності іншої задачі.
Нехай маємо задачу та задачу . Кажуть, що задача та перетворюється (зводиться) до задачі , якщо:
Початкові дані задачі перетворюються на відповідні початкові дані задачі .
Розв’язується задача .
Розв’язок задачі (вихідні дані) перетворюється у правильний розв’язок задачі .
Якщо кроки 1 та 3 можна виконати за час , де – розмір задачі , то кажуть, що задача є -звідною до задачі . Цей факт позначають так: .
Зводимість не є симетричним відношенням. Якщо задачі та взаємно звідні, то вони називаються еквівалентними.
Нижні оцінки методом перетворення: Якщо відомо, що задача вимагає щонайменше часу, і , то задачу можна розв’язати за час не менший за .
Верхні оцінки методом перетворення: Якщо відомо, що задачу можна розв’язати за час , і , то задачу можна розв’язати за час, який не перевищує .
Відомі нижні оцінки складності деяких задач:
Для скінченної -елементної множини перевірка умови вимагає часу ;
Для впорядкування сукупності з елементів необхідно часу ;
Якщо деяка задача у -вимірному просторі вимагає часу, то для цієї ж задачі розмірністью також потрібно принаймні часу;
Задачі із нижньою оцінкою складності :
перевірка того, чи є у заданій сукупності два рівних елементи;
перевірка включення множин;
перевірка перетину множин;
перевірка на значимість: дано точок на площині, визначити, чи усі вони належать опуклій оболонці;
перевірка -близькості: чи є серед елементів заданої -елементної множини два елементи, які знаходяться на відстані .
6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
2. Дерево відрізків та реберний список з подвійними зв’язками
6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
3. Локалізація точки на планарному розбитті. Методи
6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
4. Регіональний пошук. Методи
Задача. На заданій множині S із N точок задано запитний регіон R. Знайти підмножину точок множини S ( або їх кількість), які містяться в регіоні R.
Одновимірний регіональний пошук. Множина з N точок на осі x являє файл, а запитним регіоном є відрізок [x',x"] ( який називається x- регіоном). Ефективний регіональний пошук реалізується через метод, який базується на методі двійкового пошуку. Структура даних, яка забезпечує вказану дію, є прошите двійкове дерево, т.т. таке збалансоване двійкове дерево, листки якого додатково зв’язані у списку, який виражає порядок абсцис; дерево і список обробляються на фазах відповідного пошуку й вибірки. Оцінки: оптимальна як по часу запиту q(logN+k), так і по пам’яті q(N).
Алгоритм 2-D-дерева. (складність попередньої обробки: , пошуку: ). Означення. Назвемо узагальненим прямокутником таку область на площині, яка визначена декартовим добутком [x1, x2]´[y1,y2] x- інтервалу - [x1, x2] та у – інтервалу - [y1,y2], включаючи граничні випадки, коли в довільній комбінації допускається: x1= - ¥, x2 = ¥, y1= - ¥, y2 = ¥.
Нехай задана множина S із N точок на площині. Для побудови структури даних, яка називається “2-D дерево” використовується схема “розподіляй та володарюй” суть якої полягає в рекурсивному розбиті площини на прямокутники R(v), означені вище. Результатом розбиття є бінарне дерево пошуку, вузлами якого є точки із заданої множини S на площині.
П роектуються усі точки множини S на вісі ОХ та ОУ. Знаходиться медіана списку точок впорядкованих по х, проводиться вертикаль. Точка буде коренем шуканого дерева і розіб'є список на дві рівнопотужні підмножини, для яких існують списки вопрядковані по у. Для них визначаються медіани і будуються горизонталі. Ті точки будуть наступними вузлами шуканого дерева. Для зручності при побудові шуканого дерева ведемо позначення для вузлів трьох різних типів: кружки - не листові вузли з вертикальною лінією розрізу, квадрати - не листові вузли з горизонтальною лінією розрізу, точки - листки.
Метод дерева регіонів. (складність попередньої обробки: , пошук: ) . Будується дворівнева структура даних (дерево регіонів), перший рівень якої – дерево відрізків по одній із координат (наприклад х), а другий – вузли дерева відрізків прошиті упорядкованими списками по іншій координаті (наприклад у ).На побудованому дереві регіонів виконується операції вставки інтервалу ( проекція запитного регіону на вісь ОХ ), що дозволяє визначити вузли віднесення. Далі у вузлах віднесення застосовується дихотомія пошуку по іншій координаті (у).
Метод прямого доступу: Площина розбивається на комірки прямими, що проходять через всі дані точки (пари комірок утворюються класи еквівалентності відносно результатів пошуку). Для кожнох пари комірок встановлюється відповідна множина точок. Для співставлення точки одній комірці - двійковий пошук по x, у координатам. Звертання до файлу - константа. Пам'ять O(N5)
6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
5. Побудова опуклої оболонки. Методи
6. Обчислювальна геометрія, комп’ютерна графіка та комп’ютерна алгебра
6. Найближча пара, метод «Розділяй та пануй»
Примітка1: часову оцінку складності сортування списку точок по координаті х віднесемо до попередньої обробки вхідної множини, в найгіршому випадку сортування буде потребувати O( ), а в кращому O(Nlog2N). Сортування множини точок по координаті у можно виконувати за O( ) прямо під час кроку злиття двох вже відсортованих по у множин.
Примітка2: на етапі злиття, маючи відсортовані по y точки, ми розглядаємо відстань тільки між тими точками, між якими різниця ординат менше нашої мінімальної дистанції (а не відстань між всіма точками першої і другої множин).
Примітка3 (для тих, кто сумнівається, що крок 6 виконується за лінійний час):
Примітка4 (сама очевидність): щоб показати, що часова оцінка складності дійсно дорівнює O(Nlog2N) треба показати, що часова оцінка на кроці злиття дорівнює O( ), а враховуючи Примітку2 і Примітку3 бачимо, що це так і є.