Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты на зачет.docx
Скачиваний:
51
Добавлен:
01.06.2015
Размер:
554.66 Кб
Скачать

Алгоритмы и структуры данных

1.Основные понятия эис

2.свойства едениц инф., атрибуты

3.составные еденицы инф. СЕИ

4.показатели

5.основные понятие реляционной алгебры

6.основные операции рел.алгебры

7.функ-ные зависимотсти и ключи

8.нормализация отношений

9.ациклическая БД

10. алгоритм проверки БД на ацикличности

11. востановление ацекличности БД

12. сетевая и иерархическая модели данных

13. правила концевого прохождения

14. сравнительный анализ сетевой и иерархической модели

15. структуры хранения данных и методы доступа

16. индексирование

17. использование при икдексировании структур типа бинарного дерева

18. анализ алгоритмов

    1. Анализ алгоритмов

Анализ алгоритмов означает измерение и описание их характеристик. Понимание насколько хорошо работает алгоритм, показывает, будет ли алгоритм практичен, будут ли достаточны предоставляемые ресурсы. Более того, анализ алгоритмов представляет основу для сравнения различных алгоритмических решений одной и той же задачи, ранжирование их по характеристикам и выявление, какие из них наиболее эффективны.

При анализе алгоритмов обычно наибольшее внимание уделяется необходимому объему памяти и затратам времени на выполнение алгоритма. Очень часто время является самым критичным ресурсом. Объем требуемой памяти в общем случае менее критичен, чем время. Многие алгоритмы, используемые на практике, используют объем памяти пропорциональный размеру входных данных, так что если имеется достаточно памяти, чтобы загрузить задачу, то обычно ее хватает и на решение.

Обычно решаемая задача имеет естественный «размер» (обычно количество обрабатываемых ею данных), которое мы называем N. В конечном итоге нам бы хотелось получить выражение для времени, необходимого программе для обработки данных размераN, как функцию отN. В идеале, нужно вывести время работы алгоритма для любого распределения входных данных. Однако данная задача не разрешима для нетривиальных алгоритмов. Некоторые алгоритмы хорошо изучены в том смысле, что известны точные математические формулы для среднего и худшего случаев. Под средним случаем мы понимаем ожидаемое время работы программы на «типичных» входных данных, а под худшим – ожидаемое время работы программы на самых плохих входных данных. Такие формулы разрабатываются посредством тщательного изучения программ с целью нахождения времени работы в терминах математических характеристик, и затем производя их математический анализ.

Таким образом, первый шаг анализа – выбор вариантов распределения данных, для которых будет проводиться анализ.

Второй шаг в анализе алгоритма это выделить абстрактные операции, из которых состоит алгоритм, чтобы отделить анализ от реализации. Таким образом, мы отделяем, например, вопрос о том, сколько операций сравнения потребуется алгоритму от вопроса о том, сколько времени это сравнение займет на конкретном компьютере. Для того, чтобы выяснить сколько реально потребуется времени алгоритму нам будет необходимо знать оба эти параметра. Первый определяется свойствами алгоритма, второй – свойствами компьютера. Такое разделение помогает производить анализ алгоритма в независимости от его конкретной реализации или компьютера.

Третий шаг это произвести сам математический анализ, базируясь на операциях, которые мы только что определили.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]