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

Скачать презентацию на тему: "Алгоритмы обработки массивов" с количеством слайдов в размере 16 страниц. У нас вы найдете презентацию на любую тему и для каждого класса школьной программы. Мы уверены, что наши слайды помогут найти вам свою аудиторию. Весь материал предоставлен бесплатно, в знак благодарности мы просим Вас поделиться ссылками в социальных сетях и по возможности добавьте наш сайт MirPpt.ru в закладки.

Нажмите для просмотра
Алгоритмы обработки массивов

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:j1; end

10:

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

12: SpSort – список элементов SpSort – список элементов Kluch - целевой элемент i – индекс элемента исходного массива nl:1; - левая граница списка nr:n; - правая граница списка k:0; - признак завершения поиска repeat nsr : (nlnr) 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 k1;

13:

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

15: Алгоритм –1. Выбираем из списка наибольший элемент и помещаем его в конец списка. В оставшейся части выбираем наибольший элемент и помещаем его на второе место от конца списка. Продолжаем процедуру до тех пор, пока не дойдем до К-го по величине элемента.

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

Скачать презентацию


MirPpt.ru