Студопедия — Дихотомический поиск (поиск элемента в упорядоченном массиве)
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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






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

const n = 20 ‘количество элементов в массиве

dim a(1 to n) ‘исходный массив

defint i, x, k, m,f

defint left, right, mid ‘левая, правая граница и середина отрезкa

input “задайте искомый элемент”;k ‘ Основной блок программы

for i = 1 to n

input a (i)

‘упорядочивание массива по возрастанию

for i = 1 to n – 1

m = i

for j = i + 1 to n

if a(j) < a(m) then m =j

next

x = a(i): a(i) = a(m): a(m) = x

next

‘поиск элемента

f = 0 ‘элемент не найден

left = 1: right = n

DO ‘поиск элемента в части массива от элемента [left] до элемента [rigth]

mid = (left + right) \ 2

if k < a(mid) then right = mid – 1 ‘элемент в левой части

else if k > a(mid) then left = mid + 1 ‘элемент в правой части

else f = 1 ‘нашли

LOOP until f<>0 or (left > rigth)

if f=1 then print “элемент с номером”; mid; “‘совпадает с исковым”; k

else print ”‘не нашли”

End







Дата добавления: 2015-09-07; просмотров: 470. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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

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

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

Устройство рабочих органов мясорубки Независимо от марки мясорубки и её технических характеристик, все они имеют принципиально одинаковые устройства...

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия