Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование / WORD / Лекции по ЯП (часть 2).doc
Скачиваний:
98
Добавлен:
15.04.2015
Размер:
2.24 Mб
Скачать

Поиск элемента (одномерного ) массива Поиск среди неупорядоченных элементов массива

Поиск заключается в последовательном переборе всех элементов массива и cравнение их с "эталоном" до тех пор, пока не будет совпадения. Среднее число шагов = N/2.

Поиск среди упорядоченных элементов массива

Простейший из методов – бинарный или двоичный поиск или поиск методом деления пополам.

В основе этого метода лежит идея целенаправленных последовательных догадок о предполагаемом местоположении искомого элемента. Такой метод можно проиллюстрировать на примере шуточного совета как поймать в Африке льва: «Для начала разделим Африку пополам. Ясно, что лев находится только в одной половине. Та половина, в которой находится лев, снова делится пополам и т. д. Площадь Африки приблизительно 30 млн. км2. Следовательно, после примерно 45 делений мы получим площадку, не превышающую 1 м2. Теперь на такой площадке льва поймать нетрудно».

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

Сортировка элементов (одномерного) массива

Сортировка - расположение (переупорядочивание) элементов по определенному критерию. Обычно - по убыванию (descend) или возрастанию (ascend). Существует много методов сортировки.

Линейная сортировка (сортировка отбором)

Идея линейной сортировки по убыванию заключается в том, чтобы, последовательно просматривая весь массив длиной N, отыскать наибольшее число и поместить его на первую позицию, обменяв его с элементом, который ранее занимал первую позицию. Затем просматриваются все остальные элементы массива, и выполняется аналогичная операция по отбору из рассматриваемой части массива максимального элемента и обмену местами этого элемента и первого в рассматриваемой части. Затем среди оставшихся (N-1) элементов последовательно рассматриваются кандидаты на место 2-го элемента – наибольший из кандидатов при просмотре обменивается со вторым элементом и т.д. Число просматриваемых элементов с каждым шагом уменьшается.

1 3 4 2 5---------- Исходное состояние

3 1 4 2 5

4 1 3 2 5

4 1 3 2 5

5 1 3 2 4

-----------------------------------------------------------------

5 3 1 2 4

5 4 1 2 3

-----------------------------------------------------------------

5 4 2 1 3

5 4 3 1 2

------------------------------------------------------------------

5 4 3 2 1

Сортировка методом пузырька

«Пузырьковый» метод основан на том, что в процессе исполнения алгоритма более "легкие" элементы массива постепенно "всплывают". Особенностью данного метода является сравнение не каждого элемента со всеми, а сравнение в парах соседних элементов. Алгоритм пузырьковой сортировки по убыванию состоит в последовательных просмотрах снизу вверх (от начала к концу) массива. Если соседние элементы таковы, что выполняется условие, согласно которому элемент справа больше элемента слева, то выполняется обмен значениями этих элементов.

1 3 4 2 5---------- Исходное состояние

1 3 4 2 5

1 3 4 5 2

1 3 5 4 2

1 5 3 4 2

5 1 3 4 2

-----------------------------------------------------------------

5 1 3 4 2

5 1 3 4 2

5 1 4 3 2

5 4 1 3 2

-----------------------------------------------------------------

5 4 1 3 2

5 4 1 3 2

5 4 3 1 2

------------------------------------------------------------------

Соседние файлы в папке WORD