20
Структуры и алгоритмы компьютерной обработки данных •36 часов – лекции (зав. каф. АИС Шухман А.Е.) •36 часов – лабораторные работы (Горелик А.А.) Формы контроля: •расчетно-графическое задание •экзамен

лекция1.ppt

Embed Size (px)

Citation preview

Page 1: лекция1.ppt

Структуры и алгоритмы компьютерной обработки данных

•36 часов – лекции (зав. каф. АИС Шухман А.Е.)

•36 часов – лабораторные работы (Горелик А.А.)

Формы контроля:

•расчетно-графическое задание

•экзамен

Page 2: лекция1.ppt

Основная литература

Ахо А., Хопкрофт Дж., Ульман Дж. Структуры данных и алгоритмы. М.:Вильямс, 2000 – 384 с.

Вирт Н. Алгоритмы и структуры данных. СПб: Невский диалект, 2001. – 352 с.

Макконнелл Дж. Основы современных алгоритмов. – М.: Техносфера, 2004.

Окулов С.М. Программирование в алгоритмах. М.: Лаборатория базовых знаний, 2002.–341 с.

Седжвик Р. Фундаментальные алгоритмы на С++/Алгоритмы на графах– К.:Диасофт, 2002. – 496 с.

Седжвик Р. Фундаментальные алгоритмы на С++/Анализ/Структуры данных/Сортировка/Поиск– К.:Диасофт, 2001. – 688 с.

Шухман А. Е. Практикум по решению задач на ЭВМ. Часть 1. – Оренбург:ОГПУ, 2005 – 80 с.

Page 3: лекция1.ppt

Дополнительная литература Бакнелл Дж. Фундаментальные алгоритмы и

структуры данных в Delphi. – СПб.: Диасофт, 2003. – 560 с.

Гудрич М.Т. Структуры данных и алгоритмы в Java. – Мн.: Новое знание, 2003 – 671 с.

Кнут Д. Искусство программирования Т. 1. Основные алгоритмы. – М.: Вильямс, 2000.

Кнут Д. Искусство программирования Т. 2. Получисленные алгоритмы. – М.: Вильямс, 2000.

Кнут Д. Искусство программирования Т. 3. Сортировка и поиск. – М.: Вильямс, 2000.

Кормен, Лейзерсон, Ривест. Алгоритмы: построение и анализ – М: МЦНМО, 1999.

Page 4: лекция1.ppt

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

Задачи анализа алгоритмов Понятие алгоритма Понятие алгоритмической задачи Понятия временной и объемной

сложности алгоритма Порядок роста функции и его

свойства

Page 5: лекция1.ppt

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

Цели Оценить качество алгоритмов с

помощью количественных критериев

Сравнить различные алгоритмы для решения заданной алгоритмической задачи

Page 6: лекция1.ppt

Алгоритм

Алгоритм - понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленной цели.

Алгоритм имеет исходные данные (вход алгоритма) и выдает некоторый результат.

Page 7: лекция1.ppt

Алгоритмическая задача

входные данные необходимый результат.

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

Page 8: лекция1.ppt

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

Решение: Алгоритм сортировки прямыми вставками

For j:=2 to N dobegin {добавить a[j] к отcортированной части массива A[1..j-1]} k:=A[j]; i:=j-1; while (i>0) and (A[i]>k) do begin A[i+1]:=A[i]; i:=i-1 End; A[i+1]:=kend

Page 9: лекция1.ppt

Сложность алгоритмов

Временная сложность алгоритма — количество элементарных шагов, которые он выполняет.

Объемная сложность алгоритма — количество оперативной памяти, необходимой для его выполнения.

От чего зависит сложность?

Page 10: лекция1.ppt

Пример: сортировка прямыми вставками

for j:=2 to N do

begin

k:=A[j]; i:=j-1;

while (i>0) and (A[i]>k)do

begin

A[i+1]:=A[i]; i:=i-1

end;

A[i+1]:=k

end

a

b

c

d

e

N

N-1

Σtj

Σ(tj-1)

N-1

Page 11: лекция1.ppt

Сложность сортировки

•Лучший случай (tj=1) T(n) = a1n+b1

•Худший случай (tj=j) T(n) = a2n2+b2n+c2

•Средний случай (tj=j/2) T(n) = a3n2+b3n+c3

Page 12: лекция1.ppt

Порядок роста функции

Page 13: лекция1.ppt

WWW.claymath.org

Page 14: лекция1.ppt

Оценка сверху

Page 15: лекция1.ppt

Оценка снизу

Page 16: лекция1.ppt

Классы сложности алгоритмов

Page 17: лекция1.ppt

Труднорешаемые задачи

Не найден полиномиальный алгоритм.

Класс NP – задачи, проверяемые за полиномиальное время.

P=NP?

Page 18: лекция1.ppt

NP-полные задачи

Задача факторизации целого числа не является NP-полной

Page 19: лекция1.ppt

Примеры труднорешаемых задач Задача о рюкзаке

Задан набор n предметов с массами mi и стоимостями ci. Максимальная масса рюкзака M. Выбрать подмножество предметов так, чтобы Σ mi ≤ M и Σ сi → max.

Задача коммивояжера Имеется n городов, nxn матрица A = (aij)

содержит попарные расстояния между городами. Найти замкнутый маршрут, содержащий все города по одному разу, и имеющий минимальную длину.

Page 20: лекция1.ppt

Домашнее задание