Студопедия Главная Случайная страница Обратная связь

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

Сортировка фон Неймана (слиянием)





Заданы два упорядоченных по возрастанию элементов одномерных массива: а размерности n и b размерности m. Требуется получить третий массив с размерности n+m, который содержал бы все элементы исходных массивов, упорядоченных по возрастанию.

Алгоритм решения этой задачи известен как «сортировка фон Неймана» или сортировка слиянием. Идея алгоритма состоит в следующем. Сначала анализируются первые элементы обоих массивов. Меньший элемент переписывается в новый массив. Оставшийся элемент последовательно сравнивается с элементами из другого массива. В новый массив после каждого сравнения попадает меньший элемент. Процесс продолжается до исчерпания элементов одного из массивов. Затем остаток другого массива дописывается в новый массив. Полученный новый массив упорядочен таким же образом, как исходные массивы.

Программа, реализующая метод Фон-Неймана, имеет следующий вид:

БЛОК – СХЕМА

I = 1 J = 1 K = 1


Æ 1

 

1 Æ

1 Æ

1 Æ

           
     


 

[(K)=A(I)] I = I+1 K = K+1
[(K)=B(J)] J = J+1 K = K+1
K=N+M+1

       
   


[(K)=B(J)] J = J+1 K = K+1

[(K)=A(I)] I = I+1 K = K+1

 

 

rem confluence

const n = 10

const m = 20

const l = n + m

dim x%(1 to n)

dim y%(1 to m)

dim z%(1 to l)

defint k, i, j

for i = 1 to n

input x(i) ‘формирование первого упорядоченного массива

next

for i = 1 to m

input y(i) ‘формирование второго упорядоченного массива

next

I= 1: j=1: l=1 ‘i-индекс первого массива, j-индекс второго массива, l-индекс ‘результирующего массива

while (i<=n) and (j<=m) ‘пока не закончились элементы в одном из массивов

if x(i) < y(i) then ‘переписываем элементы из первого массивa

z(k) = x(i)

i = i + 1: k = k + 1

else ‘переписываем элемент из второго массива

z(k) = y(j)

j = j + 1: k = k + 1

wend

while i < = n ‘если не закончились элементы в первом массиве,

‘переписываем их в результирующий массив

Z(k) = x(i): i = i + 1: k = k+1

wend

while j < = m ‘если не закончились элементы во втором массиве

‘переписываем их в результирующий массив

Z(k) = y(j): j = j + 1: k = k+ 1

wend

for i = 1 to l ‘вывод на экран упорядоченного массива,

print z(i):: next ‘полученного слиянием

Результаты работы:

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9

 







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




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


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


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


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

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

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

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