КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Сложность этой программы О(N2)
Оценка алгоритмов Для большинства задач существует много различных алгоритмов. Какой из них выбрать для решения конкретной задачи? Чаще всего интересен порядок роста необходимых для решения задачи времени и емкости памяти при увеличении входных данных. Свяжем с каждой задачей некоторое число, называемое ее размером, которое выражало бы меру количества входных данных. Например, размером задачи умножения матриц, может быть наибольший размер матриц сомножителей. Размером задачи сортировки массива – количество чисел. Пространственная (или емкостная) сложность измеряется количеством памяти, требуемой для выполнения алгоритма. Временная сложность алгоритма определяется временем, необходимым для его выполнения. Лучший способ сравнения эффективностей алгоритмов состоит в сопоставлении их порядков сложности. Этот метод применим как к временной, так и пространственной сложности. Если алгоритм обрабатывает входные данные размера n за время cn2, где c – некоторая константа, то временная сложность этого алгоритма есть О(n2) (читается “порядка n2”). Вопросы 1. Оценка алгоритмов 2. Алгоритмы поиска 2.1. Линейный поиск 2.2. Бинарный поиск 3. Преобразование массивов ЛЕКЦИЯ 15. Точнее, говорят, что неотрицательная функция f(n) есть O(g(n)), если существует такая константа с, что для для всех n из некоторой окрестности точки n 0 имеет место неравенство f(n)<=c*g(n). Первое правило декларирует, что постоянные множители не имеют значения для определения порядка сложности. Из второго правила следует, что порядок сложности произведения двух функций равен произведению их сложностей. Программист должен уметь проводить анализ алгоритмов и определять их сложность. Временная сложность алгоритма может быть посчитана исходя из анализа его управляющих структур. Например, рассмотрим алгоритм обработки элементов массива. Если один цикл вложен в другой и оба цикла зависят от размера одной и той же переменной, то вся конструкция характеризуется квадратичной сложностью.
Дата добавления: 2014-01-07; Просмотров: 381; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |