Анализ алгоритмов (заметки)
Primary tabs
Ассимптотические оценки.
Сложность может быть временной.
На практике имеет значение поведение алгоритма при больших размерах массива( на достаточно больших номерах). (начиная , например, со ста тысяч элементов)Пусть даны два алгоритма f(n) и g(n).Если можно заключить первую функцию в границы второй , умноженную на одну константу( верхнее значение) и на другую для нижнего, то обе эти функции имеют одинаковый порядок роста.
ПРимер :РАсположить функции в порядке возрастания степени роста.Конечные суммы . Формулы суммирования.
Фрормулы Арифметической и геометрической прогрессии.Реккурентное соотношение.
-----------------------------------------------------------
Алгоритмы поиска.
1) ПОследовательный поиск.
Зависит от цели поиска и числа элементов.
For i:=1 to n do
Begin
IF then do
end;
Наилучший случай: СЛожность равна 1.
Наихудший случай: сложность равна N.Анализ среднего случая.
-----------------------------------------------------------2) ПОиск в упорядоченном списке( двоичный поиск).
Осуществляется путём последовательного разбиения отрезка значений пополам , отбрасывании неподходящего отрезка и рассмотрении подходящего( до тех пор пока поиск не завершиться).Алгоритмы сравнения с образцом.
Простейший алгоритм поиска подстроки в строке.
Усовершенствование возможможно при применении понятия "конечного автомата". "Конечный автомат" это некое устройство, которое позволяет формализовать некоторые действия. Представляет собой совокупн
сть пяти мносжуств.
q- конечное множество состояний.
ку0- начальное
сигма- конечный входной алфавит.
дельта-
- Log in to post comments
- 2736 reads
Comments
tata_la
Tue, 09/27/2011 - 20:34
Permalink
возможные задания по анализу алгоритмов
1) Вычислить определитель матрицы (произвольного порядка- на высшую оценку или просто для матрицы третьего порядка )
2) Двоичный поиск в упорядоченном и последовательный в неупорядоченном( вывод среднего числа сравнений для обоих случаев и отсортированных массивов в текстовый файл-> читать исходный массив из другого текстового)
3) Данн массив из ста элементов. произвести сортировку вставками. ( форма ответа- отсортированный массив+ число сравнений (среднее число сравнений в ходе сортировки- посчитать число сравнений для каждого элемента и найти среднее(разделить на 100)) serb111@yandex.ru- почта Сергея Викторовича.
4) Входной текствой файл ,в котором массив.
Вывод - текстовый файл, в первой строке которого отсортированный массив, вторая строка- это количество сравнений простыми вставками, первая строка- это количество сравнений шейкерной сортировкой.
7) сортировка шелла . проверить с шагами- 121 , 40, 13, 4, 1.
31, 15, 7, 3, 1 .
6) Пирамидальная сортировка- файл содержащий 100 целых чисел через пробел.
выход - содержит сам массив и число сравнений. + нарисованная пирамида.
7) Алгоритмы на графах. Обход в глубину(нам нужно) . и по уровням. входной файл - это матрица смежности.
(по всех задачах исходные данные читать из текстовых файлов, выводить данные во второй текстовый. входной- input.txt, output - выходной)
_________ _ _ ______
dthcbz фкн вгу and co