🗊Презентация Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2)

Нажмите для полного просмотра!
Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №1Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №2Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №3Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №4Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №5Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №6Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №7Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №8Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №9Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №10Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №11Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №12Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №13Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №14Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №15Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №16Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №17Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №18Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №19Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №20Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №21Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №22Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №23Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №24Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №25Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №26Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №27Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №28Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №29Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №30Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №31Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №32Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №33Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №34Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №35Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №36Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №37Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №38Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №39

Содержание

Вы можете ознакомиться и скачать презентацию на тему Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2). Доклад-сообщение содержит 39 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Теория алгоритмов
Лекция № 2
Алгоритмы сортировки массивов
Описание слайда:
Теория алгоритмов Лекция № 2 Алгоритмы сортировки массивов

Слайд 2





Алгоритм сортировки
Сортировка - это процесс упорядочения некоторого множества элементов, на котором определены отношения порядка >, <, і , Ј . 
Задачей сортировки является преобразование исходной последовательности в последовательность, содержащую те же элементы, но в порядке возрастания (или убывания) значений.
Описание слайда:
Алгоритм сортировки Сортировка - это процесс упорядочения некоторого множества элементов, на котором определены отношения порядка >, <, і , Ј . Задачей сортировки является преобразование исходной последовательности в последовательность, содержащую те же элементы, но в порядке возрастания (или убывания) значений.

Слайд 3





Критерии оценки алгоримов
Время — основной параметр, характеризующий быстродействие алгоритма. Для типичного алгоритма хорошее поведение — это O(n log n) и плохое поведение — это O(n²). Идеальное поведение для упорядочения — O(n). Алгоритмы сортировки, использующие только абстрактную операцию сравнения ключей всегда нуждаются по меньшей мере в O(n log n) сравнениях в среднем; 
Память — ряд алгоритмов требует выделения дополнительной памяти под временное хранение данных. При оценке используемой памяти не будет учитываться место, которое занимает исходный массив и независящие от входной последовательности затраты, например, на хранение кода программы.
Описание слайда:
Критерии оценки алгоримов Время — основной параметр, характеризующий быстродействие алгоритма. Для типичного алгоритма хорошее поведение — это O(n log n) и плохое поведение — это O(n²). Идеальное поведение для упорядочения — O(n). Алгоритмы сортировки, использующие только абстрактную операцию сравнения ключей всегда нуждаются по меньшей мере в O(n log n) сравнениях в среднем; Память — ряд алгоритмов требует выделения дополнительной памяти под временное хранение данных. При оценке используемой памяти не будет учитываться место, которое занимает исходный массив и независящие от входной последовательности затраты, например, на хранение кода программы.

Слайд 4





Классификация алгоритмов сортировки
Устойчивость (stability) — устойчивая сортировка не меняет взаимного расположения равных элементов. 
Естественность поведения — эффективность метода при обработке уже упорядоченных, или частично упорядоченных данных. Алгоритм ведёт себя естественно, если учитывает эту характеристику входной последовательности и работает лучше. 
Использование операции сравнения. Алгоритмы, использующие для сортировки сравнение элементов между собой, называются основанными на сравнениях. Минимальная трудоемкость худшего случая для этих алгоритмов составляет O(n log n) , но они отличаются гибкостью применения. Для специальных случаев (типов данных) существуют более эффективные алгоритмы.
Описание слайда:
Классификация алгоритмов сортировки Устойчивость (stability) — устойчивая сортировка не меняет взаимного расположения равных элементов. Естественность поведения — эффективность метода при обработке уже упорядоченных, или частично упорядоченных данных. Алгоритм ведёт себя естественно, если учитывает эту характеристику входной последовательности и работает лучше. Использование операции сравнения. Алгоритмы, использующие для сортировки сравнение элементов между собой, называются основанными на сравнениях. Минимальная трудоемкость худшего случая для этих алгоритмов составляет O(n log n) , но они отличаются гибкостью применения. Для специальных случаев (типов данных) существуют более эффективные алгоритмы.

Слайд 5





Классификация по области применения  
Внутренняя сортировка оперирует с массивами, целиком помещающимися в оперативной памяти с произвольным доступом к любой ячейке. Данные обычно упорядочиваются на том же месте, без дополнительных затрат. 
Внешняя сортировка оперирует с запоминающими устройствами большого объёма, но с доступом не произвольным, а последовательным (упорядочение файлов). Это накладывает некоторые дополнительные ограничения на алгоритм и приводит к специальным методам упорядочения, обычно использующим дополнительное дисковое пространство. Кроме того, доступ к данным на носителе производится намного медленнее, чем операции с оперативной памятью.
Описание слайда:
Классификация по области применения Внутренняя сортировка оперирует с массивами, целиком помещающимися в оперативной памяти с произвольным доступом к любой ячейке. Данные обычно упорядочиваются на том же месте, без дополнительных затрат. Внешняя сортировка оперирует с запоминающими устройствами большого объёма, но с доступом не произвольным, а последовательным (упорядочение файлов). Это накладывает некоторые дополнительные ограничения на алгоритм и приводит к специальным методам упорядочения, обычно использующим дополнительное дисковое пространство. Кроме того, доступ к данным на носителе производится намного медленнее, чем операции с оперативной памятью.

Слайд 6





Также алгоритмы классифицируются по:
потребности в дополнительной памяти или её отсутствии; 
потребности в знаниях о структуре данных, выходящих за рамки операции сравнения, или отсутствии таковой .
Описание слайда:
Также алгоритмы классифицируются по: потребности в дополнительной памяти или её отсутствии; потребности в знаниях о структуре данных, выходящих за рамки операции сравнения, или отсутствии таковой .

Слайд 7





Алгоритмы устойчивой сортировки
Сортировка обменная (пузырьком) (англ. Bubble sort ) — сложность алгоритма: O(n2); для каждой пары индексов производится обмен, если элементы расположены не по порядку. 
Сортировка перемешиванием (Шейкерная, Cocktail sort, bidirectional bubble sort) — Сложность алгоритма: O(n2) 
Гномья сортировка — имеет общее с сортировкой пузырьком и сортировкой вставками. Сложность алгоритма — O(n2). 
Сортировка вставками (Insertion sort) — Сложность алгоритма: O(n2); определяем где текущий элемент должен находиться в упорядоченном списке и вставляем его туда 
Блочная сортировка (Корзинная сортировка, Bucket sort) — Сложность алгоритма: O(n); требуется O(k) дополнительной памяти и знание о природе сортируемых данных, выходящее за рамки функций "переставить" и "сравнить". 
Сортировка подсчётом (Counting sort) — Сложность алгоритма: O(n+k); требуется O(n+k) дополнительной памяти (рассмотрено 3 варианта) 
Сортировка слиянием (Merge sort) — Сложность алгоритма: O(n log n); требуется O(n) дополнительной памяти; выстраиваем первую и вторую половину списка отдельно, а затем — сливаем упорядоченные списки 
Сортировка с помощью двоичного дерева (англ. Tree sort) — Сложность алгоритма: O(n log n); требуется O(n) дополнительной памяти
Описание слайда:
Алгоритмы устойчивой сортировки Сортировка обменная (пузырьком) (англ. Bubble sort ) — сложность алгоритма: O(n2); для каждой пары индексов производится обмен, если элементы расположены не по порядку. Сортировка перемешиванием (Шейкерная, Cocktail sort, bidirectional bubble sort) — Сложность алгоритма: O(n2) Гномья сортировка — имеет общее с сортировкой пузырьком и сортировкой вставками. Сложность алгоритма — O(n2). Сортировка вставками (Insertion sort) — Сложность алгоритма: O(n2); определяем где текущий элемент должен находиться в упорядоченном списке и вставляем его туда Блочная сортировка (Корзинная сортировка, Bucket sort) — Сложность алгоритма: O(n); требуется O(k) дополнительной памяти и знание о природе сортируемых данных, выходящее за рамки функций "переставить" и "сравнить". Сортировка подсчётом (Counting sort) — Сложность алгоритма: O(n+k); требуется O(n+k) дополнительной памяти (рассмотрено 3 варианта) Сортировка слиянием (Merge sort) — Сложность алгоритма: O(n log n); требуется O(n) дополнительной памяти; выстраиваем первую и вторую половину списка отдельно, а затем — сливаем упорядоченные списки Сортировка с помощью двоичного дерева (англ. Tree sort) — Сложность алгоритма: O(n log n); требуется O(n) дополнительной памяти

Слайд 8





Алгоритмы неустойчивой сортировки
Сортировка выбором (Selection sort) — Сложность алгоритма: O(n2); поиск наименьшего или наибольшего элемента и помещения его в начало или конец упорядоченного списка 
Сортировка Шелла (Shell sort) — Сложность алгоритма: O(n log2 n); попытка улучшить сортировку вставками 
Сортировка расчёской (Comb sort) — Сложность алгоритма: O(n log n) 
Пирамидальная сортировка (Сортировка кучи, Heapsort) — Сложность алгоритма: O(n log n); превращаем список в кучу, берём наибольший элемент и добавляем его в конец списка 
Плавная сортировка (Smoothsort) — Сложность алгоритма: O(n log n) 
Быстрая сортировка (Quicksort) — Сложность алгоритма: O(n log n) — среднее время, O(n2) — худший случай; 
Поразрядная сортировка  (Цифровая сортировка) — Сложность алгоритма: O(n·k); требуется O(k) дополнительной памяти.
Описание слайда:
Алгоритмы неустойчивой сортировки Сортировка выбором (Selection sort) — Сложность алгоритма: O(n2); поиск наименьшего или наибольшего элемента и помещения его в начало или конец упорядоченного списка Сортировка Шелла (Shell sort) — Сложность алгоритма: O(n log2 n); попытка улучшить сортировку вставками Сортировка расчёской (Comb sort) — Сложность алгоритма: O(n log n) Пирамидальная сортировка (Сортировка кучи, Heapsort) — Сложность алгоритма: O(n log n); превращаем список в кучу, берём наибольший элемент и добавляем его в конец списка Плавная сортировка (Smoothsort) — Сложность алгоритма: O(n log n) Быстрая сортировка (Quicksort) — Сложность алгоритма: O(n log n) — среднее время, O(n2) — худший случай; Поразрядная сортировка (Цифровая сортировка) — Сложность алгоритма: O(n·k); требуется O(k) дополнительной памяти.

Слайд 9





Прочие алгоритмы сортировки
Сортировка перестановкой — O(n·n!) — худшее время. Для каждой пары осуществляется проверка верного порядка и генерируются всевозможные перестановки исходного массива. 
Глупая сортировка (Stupid sort) — O(n3); рекурсивная версия требует дополнительно O(n2) памяти 
Блинная сортировка (Pancake sorting) — O(n), требуется специализированное аппаратное обеспечение 
Лексикографическая или поразрядная сортировка (Radix sort) 
Сортировка подсчётом (Counting sort) 
Топологическая сортировка 
Внешняя сортировка
Описание слайда:
Прочие алгоритмы сортировки Сортировка перестановкой — O(n·n!) — худшее время. Для каждой пары осуществляется проверка верного порядка и генерируются всевозможные перестановки исходного массива. Глупая сортировка (Stupid sort) — O(n3); рекурсивная версия требует дополнительно O(n2) памяти Блинная сортировка (Pancake sorting) — O(n), требуется специализированное аппаратное обеспечение Лексикографическая или поразрядная сортировка (Radix sort) Сортировка подсчётом (Counting sort) Топологическая сортировка Внешняя сортировка

Слайд 10





Сортировка обменом (пузырьковая сортировка)
Идея метода: шаг сортировки состоит в проходе снизу вверх по массиву. По пути просматриваются пары соседних элементов. Если элементы некоторой пары находятся в неправильном порядке, то меняем их местами.
Описание слайда:
Сортировка обменом (пузырьковая сортировка) Идея метода: шаг сортировки состоит в проходе снизу вверх по массиву. По пути просматриваются пары соседних элементов. Если элементы некоторой пары находятся в неправильном порядке, то меняем их местами.

Слайд 11





Пример
Описание слайда:
Пример

Слайд 12





Пример
Описание слайда:
Пример

Слайд 13


Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №13
Описание слайда:

Слайд 14





Оптимизация алгоритма
Запоминаем, производился ли на данном проходе какой-либо обмен. Если нет - алгоритм заканчивает работу. 
Запоминаем индекс последнего обмена k. Действительно: все пары соседих элементов с индексами, меньшими k, уже расположены в нужном порядке. Дальнейшие проходы можно заканчивать на индексе k, вместо того чтобы двигаться до установленной заранее верхней границы i. 
Меняем направление следующих один за другим проходов. Получившийся алгоритм иногда называют "шейкер-сортировкой".
Описание слайда:
Оптимизация алгоритма Запоминаем, производился ли на данном проходе какой-либо обмен. Если нет - алгоритм заканчивает работу. Запоминаем индекс последнего обмена k. Действительно: все пары соседих элементов с индексами, меньшими k, уже расположены в нужном порядке. Дальнейшие проходы можно заканчивать на индексе k, вместо того чтобы двигаться до установленной заранее верхней границы i. Меняем направление следующих один за другим проходов. Получившийся алгоритм иногда называют "шейкер-сортировкой".

Слайд 15





Сортировка выбором
Идея метода состоит в том, чтобы создавать отсортированную последовательность путем присоединения к ней одного элемента за другим в правильном порядке. 
Суть алгоритма: Построить готовую упорядоченную  последовательность, начиная с левого конца массива.
 Алгоритм состоит из n последовательных шагов, начиная от нулевого и заканчивая (n-1)-м.
На i-м шаге выбираем наименьший из элементов a[i] ... a[n] и меняем его местами с a[i].
Описание слайда:
Сортировка выбором Идея метода состоит в том, чтобы создавать отсортированную последовательность путем присоединения к ней одного элемента за другим в правильном порядке. Суть алгоритма: Построить готовую упорядоченную последовательность, начиная с левого конца массива. Алгоритм состоит из n последовательных шагов, начиная от нулевого и заканчивая (n-1)-м. На i-м шаге выбираем наименьший из элементов a[i] ... a[n] и меняем его местами с a[i].

Слайд 16





Пример
Описание слайда:
Пример

Слайд 17





Сортировка вставками
Идея алгоритма: Предположим последовательность a[0]...a[i] упорядочена. При этом по ходу алгоритма в нее будут вставляться все новые элементы.
Суть алгоритма: На i-м шаге последовательность разделена на две части: готовую a[0]...a[i] и неупорядоченную a[i+1]...a[n].
На следующем, (i+1)-м каждом шаге алгоритма берем a[i+1] и вставляем на нужное место в готовую часть массива. 
Поиск подходящего места для очередного элемента входной последовательности осуществляется путем последовательных сравнений с элементом, стоящим перед ним.
В зависимости от результата сравнения элемент либо остается на текущем месте(вставка завершена), либо они меняются местами и процесс повторяется.
Описание слайда:
Сортировка вставками Идея алгоритма: Предположим последовательность a[0]...a[i] упорядочена. При этом по ходу алгоритма в нее будут вставляться все новые элементы. Суть алгоритма: На i-м шаге последовательность разделена на две части: готовую a[0]...a[i] и неупорядоченную a[i+1]...a[n]. На следующем, (i+1)-м каждом шаге алгоритма берем a[i+1] и вставляем на нужное место в готовую часть массива. Поиск подходящего места для очередного элемента входной последовательности осуществляется путем последовательных сравнений с элементом, стоящим перед ним. В зависимости от результата сравнения элемент либо остается на текущем месте(вставка завершена), либо они меняются местами и процесс повторяется.

Слайд 18





Пример
Описание слайда:
Пример

Слайд 19


Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №19
Описание слайда:

Слайд 20





Сортировка Шелла
Сортировка Шелла (англ. Shell sort) — алгоритм сортировки, идея которого состоит в сравнении элементов, стоящих не только рядом, но и на расстоянии друг от друга. Иными словами — сортировка вставками с предварительными «грубыми» проходами.
При сортировке Шелла сначала сравниваются и сортируются между собой ключи, отстоящие один от другого на некотором расстоянии d. После этого процедура повторяется для некоторых меньших значений d, а завершается сортировка Шелла упорядочиванием элементов при d = 1 (то есть, обычной сортировкой вставками).
Описание слайда:
Сортировка Шелла Сортировка Шелла (англ. Shell sort) — алгоритм сортировки, идея которого состоит в сравнении элементов, стоящих не только рядом, но и на расстоянии друг от друга. Иными словами — сортировка вставками с предварительными «грубыми» проходами. При сортировке Шелла сначала сравниваются и сортируются между собой ключи, отстоящие один от другого на некотором расстоянии d. После этого процедура повторяется для некоторых меньших значений d, а завершается сортировка Шелла упорядочиванием элементов при d = 1 (то есть, обычной сортировкой вставками).

Слайд 21


Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №21
Описание слайда:

Слайд 22


Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №22
Описание слайда:

Слайд 23





Быстрая сортировка
Быстрая сортировка (англ. quicksort) — широко известный алгоритм сортировки, разработанный английским информатиком Чарльзом Хоаром. Один из быстрых известных универсальных алгоритмов сортировки массивов (в среднем O(n log n) обменов при упорядочении n элементов), хотя и имеющий ряд недостатков.
Краткое описание алгоритма
выбрать элемент, называемый опорным. 
сравнить все остальные элементы с опорным, на основании сравнения разбить множество на три — «меньшие опорного», «равные» и «большие», расположить их в порядке меньшие-равные-большие. 
повторить рекурсивно для «меньших» и «больших».
Описание слайда:
Быстрая сортировка Быстрая сортировка (англ. quicksort) — широко известный алгоритм сортировки, разработанный английским информатиком Чарльзом Хоаром. Один из быстрых известных универсальных алгоритмов сортировки массивов (в среднем O(n log n) обменов при упорядочении n элементов), хотя и имеющий ряд недостатков. Краткое описание алгоритма выбрать элемент, называемый опорным. сравнить все остальные элементы с опорным, на основании сравнения разбить множество на три — «меньшие опорного», «равные» и «большие», расположить их в порядке меньшие-равные-большие. повторить рекурсивно для «меньших» и «больших».

Слайд 24


Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №24
Описание слайда:

Слайд 25





Быстрая сортировка
Описание слайда:
Быстрая сортировка

Слайд 26


Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №26
Описание слайда:

Слайд 27


Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №27
Описание слайда:

Слайд 28


Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №28
Описание слайда:

Слайд 29





Сортировка подсчетом
Этот алгоритм подходит для сортировки целых чисел из не очень большого диапазона (сравнимого с размером массива). 
Идея алгоритма: для каждого элемента найти, сколько элементов, меньших определенного числа, и поместить это число на соответствующие место. За линейный проход по массиву для каждого из возможных значений подсчитываем, сколько элементов имеют такое значение. Потом добавляем к каждому из найденных чисел суму всех предыдущих. Получая, таким образом, сколько есть элементов, значения которых не больше данного значения. Далее, опять-таки за линейный проход, формируем из исходного массива новый отсортированный.
Описание слайда:
Сортировка подсчетом Этот алгоритм подходит для сортировки целых чисел из не очень большого диапазона (сравнимого с размером массива). Идея алгоритма: для каждого элемента найти, сколько элементов, меньших определенного числа, и поместить это число на соответствующие место. За линейный проход по массиву для каждого из возможных значений подсчитываем, сколько элементов имеют такое значение. Потом добавляем к каждому из найденных чисел суму всех предыдущих. Получая, таким образом, сколько есть элементов, значения которых не больше данного значения. Далее, опять-таки за линейный проход, формируем из исходного массива новый отсортированный.

Слайд 30


Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №30
Описание слайда:

Слайд 31





Цифровая сортировка
Цифровая сортировка — один из алгоритмов сортировки, использующих внутреннюю структуру сортируемых объектов. Алгоритм состоит в последовательной сортировке объектов какой-либо устойчивой сортировкой по каждому разряду, в порядке от младшего разряда к старшему, после чего последовательности будут расположены в требуемом порядке.
Описание слайда:
Цифровая сортировка Цифровая сортировка — один из алгоритмов сортировки, использующих внутреннюю структуру сортируемых объектов. Алгоритм состоит в последовательной сортировке объектов какой-либо устойчивой сортировкой по каждому разряду, в порядке от младшего разряда к старшему, после чего последовательности будут расположены в требуемом порядке.

Слайд 32


Теория алгоритмов. Алгоритмы сортировки массивов. (Лекция 2), слайд №32
Описание слайда:

Слайд 33





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

Слайд 34





Линейный поиск
Данный алгоритм является простейшим алгоритмом поиска и в отличие, например, от двоичного поиска, не накладывает никаких ограничений на функцию и имеет простейшую реализацию. Поиск значения функции осуществляется простым сравнением очередного рассматриваемого значения (как правило поиск происходит слева направо, т.е. от меньших значений аргумента к большим) и, если значения совпадают (с той или иной точностью), то поиск считается завершённым.
Описание слайда:
Линейный поиск Данный алгоритм является простейшим алгоритмом поиска и в отличие, например, от двоичного поиска, не накладывает никаких ограничений на функцию и имеет простейшую реализацию. Поиск значения функции осуществляется простым сравнением очередного рассматриваемого значения (как правило поиск происходит слева направо, т.е. от меньших значений аргумента к большим) и, если значения совпадают (с той или иной точностью), то поиск считается завершённым.

Слайд 35





Двоичный поиск
Двоичный поиск (также известен, как метод деления пополам и метод половинного деления) — алгоритм  нахождения заданного значения монотонной (невозрастающей или неубывающей) функции. Поиск основывается на теореме о промежуточных значениях. Используется в информатике, вычислительной математике и математическом программировании.
Описание слайда:
Двоичный поиск Двоичный поиск (также известен, как метод деления пополам и метод половинного деления) — алгоритм нахождения заданного значения монотонной (невозрастающей или неубывающей) функции. Поиск основывается на теореме о промежуточных значениях. Используется в информатике, вычислительной математике и математическом программировании.

Слайд 36





Двоичный поиск в упорядоченном массиве
Описание слайда:
Двоичный поиск в упорядоченном массиве

Слайд 37





                Библиотека STL
Описание слайда:
Библиотека STL

Слайд 38





Алгоритмы STL
STL - алгоритмы представляют набор готовых функций, которые могут быть применены к STL коллекциям и могут быть подразделены на три основных группы
Описание слайда:
Алгоритмы STL STL - алгоритмы представляют набор готовых функций, которые могут быть применены к STL коллекциям и могут быть подразделены на три основных группы

Слайд 39





Функции для сортировки членов коллекции
sort,  stable_sort,  partial_sort, partial_sort_copy, nth_element, binary_search, lower_bound, upper_bound, equal_range, merge, inplace_merge, includes, set_union, set_intersection, set_difference, set_symmetric_difference, make_heap, push_heap, pop_heap, sort_heap, min, max, min_element, max_element, lexographical_compare, next_permutation, prev_permutation
Описание слайда:
Функции для сортировки членов коллекции sort, stable_sort, partial_sort, partial_sort_copy, nth_element, binary_search, lower_bound, upper_bound, equal_range, merge, inplace_merge, includes, set_union, set_intersection, set_difference, set_symmetric_difference, make_heap, push_heap, pop_heap, sort_heap, min, max, min_element, max_element, lexographical_compare, next_permutation, prev_permutation



Похожие презентации
Mypresentation.ru
Загрузить презентацию