Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
46 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
3.44 MB
Просмотров:
62
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Изменение размера массива](/documents_6/ace98132d27d4dfe28098444ac957e2d/img0.jpg)
Содержание слайда: Изменение размера массива
№2 слайд![Стек изменение размера](/documents_6/ace98132d27d4dfe28098444ac957e2d/img1.jpg)
Содержание слайда: Стек: изменение размера массива
Проблема. От клиента требуется указывать размер стека
Как увеличивать и уменьшать размер массива?
Первый подход
push(): увеличивать размер массива s[] на 1
pop(): уменьшать размер массива s[] на 1
Стоимость
Требуется копировать все элементы в новый массив
Сложность вставки первых N элементов 1+2+3+...+N ~ N2/2
№3 слайд![Стек изменение размера](/documents_6/ace98132d27d4dfe28098444ac957e2d/img2.jpg)
Содержание слайда: Стек: изменение размера массива
Если массив полон, то создать новый массив в два раза больше и копировать элементы
№4 слайд![Стек амортизированная](/documents_6/ace98132d27d4dfe28098444ac957e2d/img3.jpg)
Содержание слайда: Стек: амортизированная стоимость добавления в стек
Стоимость добавления первых N элементов: N + (2 + 4 + 8 + … + N) ~ 3N
№5 слайд![Стек изменение размера](/documents_6/ace98132d27d4dfe28098444ac957e2d/img4.jpg)
Содержание слайда: Стек: изменение размера массива
Как изменять размер массива?
Первый подход
push(): увеличивать размер массива s[] в два раза, когда массив полон
pop(): уменьшать размер массива s[] в два раза, когда массив на половину пуст
Худший случай дорог
Представим push-pop-push-pop-..., когда массив полон
Сложность каждой операции пропорциональна N
№6 слайд![Стек изменение размера](/documents_6/ace98132d27d4dfe28098444ac957e2d/img5.jpg)
Содержание слайда: Стек: изменение размера массива
Эффективный подход
push(): увеличивать размер массива s[] в два раза, когда массив полон
pop(): уменьшать размер массива s[] в два раза, когда массив заполнен на четверть
№7 слайд![Стек изменение размера массива](/documents_6/ace98132d27d4dfe28098444ac957e2d/img6.jpg)
Содержание слайда: Стек: изменение размера массива
№8 слайд![Стек амортизированный анализ](/documents_6/ace98132d27d4dfe28098444ac957e2d/img7.jpg)
Содержание слайда: Стек: амортизированный анализ
Предположение. Начиная с пустого стека, последовательность из M push/pop операций занимает время пропорциональное M
№9 слайд![Стек использование памяти](/documents_6/ace98132d27d4dfe28098444ac957e2d/img8.jpg)
Содержание слайда: Стек: использование памяти
Предположение. Используется от ~ 8N до ~ 32N байт для стека из N элементов
~ 8N когда стек полон
~ 32N когда стек заполнен на четверть
№10 слайд![Очередь с приоритетом](/documents_6/ace98132d27d4dfe28098444ac957e2d/img9.jpg)
Содержание слайда: Очередь с приоритетом
(Priority Queue)
№11 слайд![Очередь с приоритетом](/documents_6/ace98132d27d4dfe28098444ac957e2d/img10.jpg)
Содержание слайда: Очередь с приоритетом
Коллекции. Вставка и удаление элементов. Какой элемент удалять?
Стек. LIFO
Очередь. FIFO
Рандомизированная очередь. Удаляется случайный элемент
Очередь с приоритетом. Удаляется самый большой (или маленький) элемент
№12 слайд![API очереди с приоритетом](/documents_6/ace98132d27d4dfe28098444ac957e2d/img11.jpg)
Содержание слайда: API очереди с приоритетом
Требование. Элементы должны быть сравнимы
№13 слайд![Использование очереди с](/documents_6/ace98132d27d4dfe28098444ac957e2d/img12.jpg)
Содержание слайда: Использование очереди с приоритетам
№14 слайд![Пример очереди с приоритетом](/documents_6/ace98132d27d4dfe28098444ac957e2d/img13.jpg)
Содержание слайда: Пример очереди с приоритетом
Задача. Найти наибольшие М элементов в потоке из N элементов
Отслеживание транзакций
Поиск файлов и директорий
Ограничение. Не хватает памяти для хранения N элементов
№15 слайд![Пример очереди с приоритетом](/documents_6/ace98132d27d4dfe28098444ac957e2d/img14.jpg)
Содержание слайда: Пример очереди с приоритетом
Задача. Найти наибольшие М элементов в потоке из N элементов
Отслеживание транзакций
Поиск файлов и директорий
Ограничение. Не хватает памяти для хранения N элементов
№16 слайд![Пример очереди с приоритетом](/documents_6/ace98132d27d4dfe28098444ac957e2d/img15.jpg)
Содержание слайда: Пример очереди с приоритетом
Задача. Найти наибольшие М элементов в потоке из N элементов
№17 слайд![Очередь с приоритетом](/documents_6/ace98132d27d4dfe28098444ac957e2d/img16.jpg)
Содержание слайда: Очередь с приоритетом: неупорядоченная и упорядоченная реализация
№18 слайд![Очередь с приоритетом](/documents_6/ace98132d27d4dfe28098444ac957e2d/img17.jpg)
Содержание слайда: Очередь с приоритетом: неупорядоченная реализация
№19 слайд![Пример очереди с приоритетом](/documents_6/ace98132d27d4dfe28098444ac957e2d/img18.jpg)
Содержание слайда: Пример очереди с приоритетом
Задача. Все операции эффективны
№20 слайд![Бинарная пирамида Binary Heaps](/documents_6/ace98132d27d4dfe28098444ac957e2d/img19.jpg)
Содержание слайда: Бинарная пирамида
(Binary Heaps)
№21 слайд![Полное бинарное дерево](/documents_6/ace98132d27d4dfe28098444ac957e2d/img20.jpg)
Содержание слайда: Полное бинарное дерево
Бинарное дерево. Пустота или узел с левым и правым бинарным поддеревом
Полное дерево. Полностью сбалансированное, за исключением последнего уровня
№22 слайд![Полное бинарное дерево](/documents_6/ace98132d27d4dfe28098444ac957e2d/img21.jpg)
Содержание слайда: Полное бинарное дерево
№23 слайд![Бинарная пирамида Бинарная](/documents_6/ace98132d27d4dfe28098444ac957e2d/img22.jpg)
Содержание слайда: Бинарная пирамида
Бинарная пирамида. Пирамидально упорядоченное полное бинарное дерево можно представить в виде массива
№24 слайд![Бинарная пирамида Самый](/documents_6/ace98132d27d4dfe28098444ac957e2d/img23.jpg)
Содержание слайда: Бинарная пирамида
Самый большой ключ находится в корне по адресу а[1]
№25 слайд![Продвижение в пирамиде Если](/documents_6/ace98132d27d4dfe28098444ac957e2d/img24.jpg)
Содержание слайда: Продвижение в пирамиде
Если дочерний узел больше родительского
Поменять местами дочерний и родительский узел
Повторять до тех пор пока не будет восстановлена пирамидальная упорядоченность
№26 слайд![Вставка в пирамиде Вставка.](/documents_6/ace98132d27d4dfe28098444ac957e2d/img25.jpg)
Содержание слайда: Вставка в пирамиде
Вставка. Добавить узел в конец и поднимать его выше
Стоимость. Не более 1+log2N сравнений
№27 слайд![Спуск в пирамиде Если](/documents_6/ace98132d27d4dfe28098444ac957e2d/img26.jpg)
Содержание слайда: Спуск в пирамиде
Если родительский узел меньше одного (или двух) дочерних
Поменять местами родительский и больший дочерний узел
Повторять до тех пор пока не будет восстановлена пирамидальная упорядоченность
№28 слайд![Удалить максимальный узел в](/documents_6/ace98132d27d4dfe28098444ac957e2d/img27.jpg)
Содержание слайда: Удалить максимальный узел в пирамиде
Удаление максимального узла. Поменять корень с последним узлом и спустить его ниже
Стоимость. Не более 2log2N сравнений
№29 слайд![Бинарная пирамида Вставка.](/documents_6/ace98132d27d4dfe28098444ac957e2d/img28.jpg)
Содержание слайда: Бинарная пирамида
Вставка. Добавить узел в конец и поднимать его выше
Удаление максимального узла. Поменять корень с последним узлом и спустить его ниже
Видео 1
№30 слайд![Бинарная пирамида реализация](/documents_6/ace98132d27d4dfe28098444ac957e2d/img29.jpg)
Содержание слайда: Бинарная пирамида: реализация на Java
№31 слайд![Реализация очереди с](/documents_6/ace98132d27d4dfe28098444ac957e2d/img30.jpg)
Содержание слайда: Реализация очереди с приоритетом
№32 слайд![](/documents_6/ace98132d27d4dfe28098444ac957e2d/img31.jpg)
№33 слайд![](/documents_6/ace98132d27d4dfe28098444ac957e2d/img32.jpg)
№34 слайд![Пирамидальная сортировка](/documents_6/ace98132d27d4dfe28098444ac957e2d/img33.jpg)
Содержание слайда: Пирамидальная сортировка
(Heapsort)
№35 слайд![Пирамидальная сортировка](/documents_6/ace98132d27d4dfe28098444ac957e2d/img34.jpg)
Содержание слайда: Пирамидальная сортировка
Создать пирамиду из всех N ключей
Повторять удаление максимального ключа
№36 слайд![Пирамидальная сортировка](/documents_6/ace98132d27d4dfe28098444ac957e2d/img35.jpg)
Содержание слайда: Пирамидальная сортировка
№37 слайд![Пирамидальная сортировка](/documents_6/ace98132d27d4dfe28098444ac957e2d/img36.jpg)
Содержание слайда: Пирамидальная сортировка
Конструктор пирамиды. Создать max пирамиду восходящим методом
Видео 2
Видео 3
№38 слайд![Пирамидальная сортировка](/documents_6/ace98132d27d4dfe28098444ac957e2d/img37.jpg)
Содержание слайда: Пирамидальная сортировка: конструктор
Первый проход. Создать пирамиду используя восходящий метод
№39 слайд![](/documents_6/ace98132d27d4dfe28098444ac957e2d/img38.jpg)
№40 слайд![Пирамидальная сортировка](/documents_6/ace98132d27d4dfe28098444ac957e2d/img39.jpg)
Содержание слайда: Пирамидальная сортировка
Второй проход
Удалять максимум поочередно
Восстановить порядок в пирамиде
№41 слайд![](/documents_6/ace98132d27d4dfe28098444ac957e2d/img40.jpg)
№42 слайд![Пирамидальная сортировка](/documents_6/ace98132d27d4dfe28098444ac957e2d/img41.jpg)
Содержание слайда: Пирамидальная сортировка: реализация на Java
№43 слайд![Пирамидальная сортировка](/documents_6/ace98132d27d4dfe28098444ac957e2d/img42.jpg)
Содержание слайда: Пирамидальная сортировка
№44 слайд![Пирамидальная сортировка](/documents_6/ace98132d27d4dfe28098444ac957e2d/img43.jpg)
Содержание слайда: Пирамидальная сортировка
№45 слайд![Пирамидальная сортировка](/documents_6/ace98132d27d4dfe28098444ac957e2d/img44.jpg)
Содержание слайда: Пирамидальная сортировка: математический анализ
Первый проход <= 2N сравнений и перестановок
Второй проход <= 2N log2N сравнений и перестановок
Значение. Алгоритм, не требующий дополнительной памяти и работающий за NlogN в худшем случае
Быстрая сортировка
Сортировка слиянием
Нижняя граница. Пирамидальная сортировка оптимальна по памяти и по времени
Внутренний цикл длиннее, чем у Q-sort
Плохо кэшируется
Не устойчива
№46 слайд![Алгоритмы сортировки](/documents_6/ace98132d27d4dfe28098444ac957e2d/img45.jpg)
Содержание слайда: Алгоритмы сортировки