Разделы презентаций


Алгоритмы обработки массивов

Содержание

Эффективность алгоритмаАлгоритмы можно разделить на два класса:Алгоритмы с повторением.число операций в циклечисло цикловРекурсивные алгоритмы.число операций разбиения на подзадачивыполнение алгоритма каждой подзадачиобъединение результатов.

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

Слайд 1АЛГОРИТМЫ ОБРАБОТКИ МАССИВОВ: ПОИСК И СОРТИРОВКА.

АЛГОРИТМЫ ОБРАБОТКИ МАССИВОВ:  ПОИСК И СОРТИРОВКА.

Слайд 2Эффективность алгоритма
Алгоритмы можно разделить на два класса:
Алгоритмы с повторением.
число операций

в цикле
число циклов
Рекурсивные алгоритмы.
число операций разбиения на подзадачи
выполнение алгоритма каждой

подзадачи
объединение результатов.
Эффективность алгоритмаАлгоритмы можно разделить на два класса:Алгоритмы с повторением.число операций в циклечисло цикловРекурсивные алгоритмы.число операций разбиения на

Слайд 3
При оценке эффективности алгоритма нужно выбрать наиболее значимую операцию или

группу операций.
Операции сравнения.
Арифметические операции.

При оценке эффективности алгоритма нужно выбрать наиболее значимую операцию или группу операций.Операции сравнения.Арифметические операции.

Слайд 4Классы входных данных
При оценке эффективности алгоритма нужно попытаться разбить входные

данные на классы и оценить поведение алгоритма на каждом из

них.
Пример: Определить максимальное число из набора 10 чисел.
Число возможных наборов входных данных – N!.
10!= 3628800
Классы входных данныхПри оценке эффективности алгоритма нужно попытаться разбить входные данные на классы и оценить поведение алгоритма

Слайд 5Наборы данных можно разбить на 10 классов по месторасположению максимального

числа:
Максимальное число на первом месте
Максимальное число на втором месте
Максимальное число

на третьем месте
……………………………………………………………………………………..
10. Максимальное число на десятом месте

Следовательно нужно оценить эффективность только 10 вариантов, а не 10!
Наборы данных можно разбить на 10 классов по месторасположению максимального числа:Максимальное число на первом местеМаксимальное число на

Слайд 6Варианты отличаются друг от друга числом перестановок в зависимости от

местоположения наибольшего элемента. Наилучший случай, когда наибольший элемент находится на

первом месте, наихудший – на последнем.
Эффективность любого алгоритма проверяется исходя из анализа трёх вариантов набора начальных данных:
Наилучший случай;
Наихудший случай;
Средний случай.

Для определения максимального и минимального чисел из набора 10 чисел нужно сформировать 90 классов входных данных
Варианты отличаются друг от друга числом перестановок в зависимости от местоположения наибольшего элемента. Наилучший случай, когда наибольший

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

по какому-либо признаку (ключу).
Элемент списка являющийся предметом поиска называется

целевым элементом.
Поиск обычно проводится не для того, чтобы убедиться в наличии того или иного элемента, а с целью получит какие-либо данные соответствующие данному ключу.

Алгоритмы поиска.

Списки данных могут быть двух типов – отсортированными или неотсортированными по какому-либо признаку (ключу). Элемент списка являющийся

Слайд 8Последовательный поиск.
Поиск проводится в неотсортированном списке.
Последовательно просматривается список элементов,

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


Самый простой анализ – запись порядкового номера элементов в исходном списке, соответствующих ключу.
Последовательный поиск.Поиск проводится в неотсортированном списке. Последовательно просматривается список элементов, начиная с первого. Элементов списка, соответствующих ключу,

Слайд 9
Spisok – список элементов
Kluch - целевой элемент
i – индекс элемента

исходного массива
j – индекс элемента массива M(j) , соответствующего ключу.

j:=1;
for i:=1 to N do
if Spisok(i)=Kluch then
begin
M(j):=i;
j:=j+1;
end
Spisok – список элементовKluch - целевой элементi – индекс элемента исходного массиваj – индекс элемента массива M(j)

Слайд 10Конец цикла
a





m

m[j]=i

a[i]=ключ
да
нет
j

Конец циклаamm[j]=ia[i]=ключданетj

Слайд 11Двоичный поиск.
Поиск проводится в отсортированном списке. Алгоритм поиска :
Выбираем

средний элемент списка и сравниваем его с ключом. Возможны три

случая:
Средний элемент списка меньше ключа;
Средний элемент списка равен ключу;
Средний элемент списка больше ключа.
В соответствии с результатом сравнения ведутся последующие действия:
Исключается из рассмотрения левая (меньше ключа) половина списка.;
Поиск завершен;
Исключается из рассмотрения правая (больше ключа) половина списка.

Двоичный поиск.Поиск проводится в отсортированном списке. Алгоритм поиска : Выбираем средний элемент списка и сравниваем его с

Слайд 12SpSort – список элементов
Kluch - целевой элемент
i – индекс элемента

исходного массива
nl:=1; - левая граница списка
nr:=n; - правая граница списка
k:=0;

- признак завершения поиска
repeat
nsr := (nl+nr) div 2; - середина списка
if SpSort(nsr) < Kluch then
nl:=nsr;
else
begin
if SpSort(nsr) = Kluch then
begin
k:=1;
j:=i;
end;
else
nr:=nsr;
end;
until k<>1;
SpSort – список элементовKluch - целевой элементi – индекс элемента исходного массиваnl:=1; - левая граница спискаnr:=n; -

Слайд 13

















































































































nl
nsr
nr
nl
nsr
nl
nr
nsr
nr
nl
nsr
nr
nl
nsr
nr

nlnsrnrnlnsrnlnrnsrnrnlnsrnrnlnsrnr

Слайд 14Выборка.
Задача - выбрать из списка элемент, не имеющий какого-либо конкретного

значения.
Например, выбрать запись с большим, меньшим, средним по величине

элементом или, в общем случае, с К-ым по величине элементом.
Выборка.Задача - выбрать из списка элемент, не имеющий какого-либо конкретного значения. Например, выбрать запись с большим, меньшим,

Слайд 15
Алгоритм –1.
Выбираем из списка наибольший элемент и помещаем его

в конец списка.
В оставшейся части выбираем наибольший элемент и

помещаем его на второе место от конца списка.
Продолжаем процедуру до тех пор, пока не дойдем до К-го по величине элемента.


Алгоритм –1. 	Выбираем из списка наибольший элемент и помещаем его в конец списка. В оставшейся части выбираем

Слайд 16
Алгоритм –2.
Произведем перестановку списка (без сортировки) таким образом, что

элементы меньшие по величине располагаются на местах с номерами меньшими

номера ключевого элемента, а элементы большие - на местах с номерами большими номера ключевого элемента.
После ряда итераций в ячейке с номером «К» будет располагаться интересующий нас элемент.


Алгоритм –2.	Произведем перестановку списка (без сортировки) таким образом, что элементы меньшие по величине располагаются на местах

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика