методы оценки сложности алгоритмов

методы оценки эффективности алгоритмов

Чайников Сергей Иванович. Методы и алгоритмы оценки параметров вычислительных процессов : ил РГБ ОД 61:85-5/454.

Однонаправленные (односвязные) списки
Создание однонаправленного списка
Печать (просмотр) однонаправленного списка
Вставка элемента в однонаправленный список
Удаление элемента из однонаправленного списка
Поиск элемента в однонаправленном списке
Удаление однонаправленного списка
Двунаправленные (двусвязные) списки
Создание двунаправленного списка
Печать (просмотр) двунаправленного списка
Вставка элемента в двунаправленный список
Удаление элемента из двунаправленного списка
Поиск элемента в двунаправленном списке
Проверка пустоты двунаправленного списка
Удаление двунаправленного списка
Ключевые термины
Краткие итоги
Лабораторная работа 29. Динамические структуры данных: однонаправленные и двунаправленные списки
Трудоемкость конструкции "Следование" есть сумма трудоемкостей блоков, следующих друг за другом: f=f 1+f 2+...+f n.
Трудоемкость конструкции "Ветвление" определяется через вероятность перехода к каждой из инструкций, определяемой условием. При этом проверка условия также имеет определенную трудоемкость. Для вычисления трудоемкости худшего случая может быть выбран тот блок ветвления, который имеет большую трудоемкость, для лучшего случая – блок с меньшей трудоемкостью. f if=f 1+f thenxp then+f elsex(1-p then)
Трудоемкость конструкции "Цикл" зависит от вида цикла. Для цикла с параметрами будет справедливой формула: f for=1+3n+nf, где n – количество повторений тела цикла, f – трудоемкость тела цикла.
Реализация цикла с предусловием и с постусловием не меняет методики оценки его трудоемкости. На каждом проходе выполняется оценка трудоемкости условия, изменения параметров (при наличии) и тела цикла. Общие рекомендации для оценки циклов с условиями затруднительны. Так как в значительной степени зависят от исходных данных.

4.1. Сравнительные оценки алгоритмов 22.  9. рекурсивные алгоритмы и методы их анализа 59.

Декомпозиция алгоритма предполагает выделение в алгоритме базовых конструкций и оценку их трудоемкости. При этом рассматривается следование основных алгоритмических конструкций.
Построчный анализ трудоемкости по базовым операциям языка подразумевает либо совокупный анализ (учет всех операций), либо пооперационный анализ (учет трудоемкости каждой операции).
Обратная композиция функции трудоемкости на основе методики анализа базовых алгоритмических конструкций для лучшего, среднего и худшего случаев.
Особенностью оценки ресурсной эффективности рекурсивных алгоритмов является необходимость учета дополнительных затрат памяти и механизма организации рекурсии. Поэтому трудоемкость рекурсивных реализаций алгоритмов связана с количеством операций, выполняемых при одном рекурсивном вызове, а также с количеством таких вызовов. Учитываются также затраты на возвращения значений и передачу управления в точку вызова. Для анализа трудоемкости механизма рекурсивного вызова-возврата будем учитывать следующие параметры: p – количество передаваемых фактических параметров, r – количество сохраняемых в стеке регистров, k – количество возвращаемых по адресной ссылке значений, l – количество локальных ячеек функции. Тогда функция трудоемкости на один вызов-возврат примет вид:
Алгоритмы работы со структурами данных. Они определяют базовые принципы и методологию, используемые для реализации, анализа и сравнения алгоритмов. Позволяют получить представление о методах представления данных. К таким структурам относятся связные списки и строки, деревья, абстрактные типы данных, такие как стеки и очереди.

Его основу составляет триада : модель — метод ( алгоритм ) — программа .  Для оценки обусловленности системы вводят число обусловленности M А М А = А−1 ⋅ А

Алгоритмы сортировки, предназначенные для упорядочения массивов и файлов, имеют особую важность. С алгоритмами сортировки связаны, в частности, очереди по приоритету, задачи выбора и слияния.
Алгоритмы поиска, предназначенные для поиска конкретных элементов в больших коллекциях элементов. К ним относятся основные и расширенные методы поиска с использованием деревьев и преобразований цифровых ключей, в том числе деревья цифрового поиска, сбалансированные деревья, хеширование, а также методы, которые подходят для работы с очень крупными файлами.
Алгоритмы на графах полезны при решении ряда сложных и важных задач. Общая стратегия поиска на графах разрабатывается и применяется к фундаментальным задачам связности, в том числе к задаче отыскания кратчайшего пути, построения минимального остовного дерева, к задаче о потоках в сетях и задаче о паросочетаниях. Унифицированный подход к этим алгоритмам показывает, что в их основе лежит одна и та же функция, и что эта функция базируется на основном абстрактном типе данных очереди по приоритету.
Алгоритмы обработки строк включают ряд методов обработки последовательностей символов. Поиск в строке приводит к сопоставлению с эталоном, что, в свою очередь, ведет к синтаксическому анализу. К этому же классу задач можно отнести и технологии сжатия файлов.
Геометрические алгоритмы – это методы решения задач с использованием точек и линий (и других простых геометрических объектов), которые вошли в употребление достаточно недавно. К ним относятся алгоритмы построения выпуклых оболочек, заданных набором точек, определения пересечений геометрических объектов, решения задач отыскания ближайших точек и алгоритма многомерного поиска. Многие из этих методов дополняют простые методы сортировки и поиска.
Краткие итоги
Определение ресурсной эффективности алгоритмов – необходимая составляющая этапа анализа разработанного программного обеспечения.
Наиболее значимыми характеристиками ресурсной эффективности алгоритмов являются оценки их временной и емкостной сложности.
Временная сложность алгоритма определяется асимптотической оценкой функции трудоемкости алгоритма для худшего случая.
В зависимости от вида функции временной сложности алгоритма выделяют пять основных классов сложности алгоритмов.
Емкостная сложность алгоритма определяется как асимптотическая оценка функции объема памяти алгоритма для худшего случая.
Ресурсная сложность алгоритма в худшем, среднем и лучшем случаях определяется как упорядоченная пара классов функций временной и емкостной сложности, заданных асимптотическими обозначениями и соответствующих рассматриваемому случаю.
Для получения функций трудоемкости для лучшего, среднего и худшего случаев при фиксированной размерности входа необходимо учесть особенности в оценке основных алгоритмических конструкций.
Особенностью оценки ресурсной эффективности рекурсивных алгоритмов является необходимость учета дополнительных затрат памяти и механизма организации рекурсии.
В зависимости от структур обработки данных в процедурном программировании выделяются классы базовых алгоритмов.
••• Методы оценки масштабируемости алгоритмов? Daniil Basanets Профи (513), на  Какие существуют методы оценки масштабируемости параллельных алгоритмов?

Мы говорим, что оценка сложности алгоритма.  Например, для метода сортировки heapsort оценка трудоёмкости составляет.


Автор рекомендует применять данный алгоритм для оценки неизвестных параметров ОДУ, решение которых  2.3.7.2. Методы , основанные на оценке параметров .

Оценка скорости.  Методы оценки алгоритмов сортировок: число сравнений, число перемещений, устойчивость.13 апреля 2006


6 Методы оценки алгоритмов компрессии. 6.1 Общее описание методов оценки.  6.1.1 Метод оценки алгоритма на основе разделения оцифрованных видеоданных.

Лекция 1: Методы оценки алгоритмов. 0 Введение в оценку алгоритмов. Вопрос «Зачем оценивать алгоритмы?» возникает первым.


§ Статистика использования различных методов оценки.  На что обращаем внимание? Методы оценки персонала.

Реферат: Разработка средств оценки эффективности алгоритмов поиска и  Жадные алгоритмы. : Ссылка Реферат: Методы разработки алгоритмов.


 

Меню