Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР-Введение в теорию алгоритмов-ПИБ-Гомбоев-201...doc
Скачиваний:
5
Добавлен:
01.03.2025
Размер:
407 Кб
Скачать
☆

Тема 6. Сортировка

Внутренняя сортировка (сортировка массивов). Понятие сложности алгоритма сортировки. Основные алгоритмы внутренней сортировки: пузырьковая сортировка, шейкерная сортировка, сортировка простым выбором, сортировка простыми вставками, сортировка Шелла, сортировка слиянием, быстрая сортировка. Внешняя сортировка (сортировка файлов). Отрезки файла. Операции разделения файла и слияния файлов. Некоторые алгоритмы внешней сортировки: многофазная сортировка, сбалансированное слияние. Использование алгоритмов внутренней сортировки в сортировке последовательных файлов.

При изучении данной темы следует обратить внимание на источники: [1], [2], [3].

Контрольные вопросы для самопроверки:

  1. Поясните операцию сортировки элементов массива.

  2. Какие показатели эффективности алгоритма сортировки можете перечислить?

  3. Приведите примеры квадратичных и субквадратичных алгоритмов сортировки элементов массива.

  4. Дайте определение логарифмическому алгоритму сортировки.

  5. Дайте определение линейному алгоритму сортировки.

  6. Поясните сортировку пузырьком и оцените показатели эффективности.

  7. Поясните сортировку вставками.

  8. Дайте определение сортировки выбором.

  9. Приведите примеры сортировки выбором.

Тема 7. Поиск

Поиск в массиве. Линейный поиск. Бинарный поиск. Поиск в таблице. Хеширование. Выбор хеш-функции. Разрешение коллизий: метод открытой адресации, метод цепочек.

При изучении данной темы следует обратить внимание на источники: [1], [2], [3].

Контрольные вопросы для самопроверки:

  1. Дайте определение задачи поиска в массиве.

  2. Поясните алгоритм линейного поиска в массиве.

  3. Оцените количество элементарных операций в линейном поиске.

  4. Выполните сравнительный анализ эффективности линейного и бинарного алгоритмов поиска.

  5. Как реализуется поиск в таблице?

  6. В чем состоит хеширование?

  7. Как выполняется выбор хеш-функции?

  8. Раскройте понятие коллизии.

  9. В чем состоит метод открытой адресации?

  10. Опишите метод цепочек.

Тема 8. Объектно-ориентированное программирование

Парадигма объектно-ориентированного программирования (ООП): концепции объекта и класса, инкапсуляции, наследования и полиморфизма. Спецификация видимости атрибутов и методов объекта. Механизмы раннего и позднего связывания. Статические и виртуальные методы. Иерархии классов. Шаблоны классов.

При изучении данной темы следует обратить внимание на источники: [1], [2], [3].

Контрольные вопросы для самопроверки:

  1. Раскройте понятия объекта и класса.

  2. Что понимают под инкапсуляцией?

  3. Что такое наследование?

  4. В чем состоит полиморфизм поведения класса?

  5. Приведите спецификацию видимости атрибутов и методов класса.

  6. В чем состоит механизм раннего (позднего) связывания?

  7. Приведите примеры статистического и виртуального методов.

Тема 9. Событийное программирование

и прикладные программные интерфейсы

Событийно-управляемое программирование. Пользовательские и системные события в программе. Методы обработки и распространение событий. Управление параллелизмом с помощью механизма обработки событий. Прикладной программный интерфейс (Application Programming Interface), API-программирование. Методы обработки данных, основанные на компонентных технологиях. Промежуточное программное обеспечение (middleware).

При изучении данной темы следует обратить внимание на источники: [1], [2], [3].

Контрольные вопросы для самопроверки:

  1. В чем заключается событийно-управляемое программирование?

  2. Определите пользовательские и системные события в программе.

  3. Какие методы обработки и распространения событий можете назвать?

  4. В чем состоит параллелизм обработки событий?

  5. Что называют прикладным программным интерфейсом?

  6. Что такое промежуточное программное обеспечение?