Хелпикс

Главная

Контакты

Случайная статья





Вариант задания. Обзор алгоритмов. Сортировка простым выбором. fori:=n downto2 do begin. forj:=2 toi do. ifa[j].key > a[jmax].key then. Сортировка методом Д.Шелла. whileh<n do. repeat. fori:=h + 1 ton do begin. Быстрая сортировка с ограничением реку



 

Вологодский государственный педагогический университет

Факультет прикладной математики и компьютерных технологий

 

 

Индивидуальное задание по исследованию алгоритмов Сортировки

 

Выполнил:

студент II курса факультета ПМ и КТ

Попов Максим Сергеевич

 

Принял:

доцент кафедры ПМ и КТ

Свердлов Сергей Залманович

 

 

Вологда

Вариант задания

Вариант 20

 

Таблица 1. Вариант задания

    

  Алгоритмы

Сортировка простым выбором
Сортировка методом Д.Шелла
Быстрая сортировка с ограничением рекурсии

 

Использование барьера Не используется
   
Тип ключа Целый (16 разрядов)
Тип данных Целый (16 разрядов)

 

 Исследуемые    характеристики

Время сортировки
Число сравнений ключа
Число пересылок

 

Изменяемые величины

Число элементов
Параметры алгоритма

 

Исследуемые варианты

Случайный массив
Отсортированный массив
Обратно отсортированный массив

 

 

Обзор алгоритмов

const

nmax = 5000;

type

tKey = integer;

tData = integer;

tItem = record

Key : tKey;

Data: tData;

end;

tArray=array[1..n] of tItem;

Сортировка простым выбором

procedureSelectSort(vara: tArray; n : integer);

var

  i, j, jmax: integer;

buf: tItem;

begin

fori:=n downto2 do begin

     jmax:=1;

forj:=2 toi do

    ifa[j].key > a[jmax].key then

           jmax:=j;

buf:=a[jmax];

a[jmax]:=a[i];

a[i]:=buf;

end;

end;

 

 

Сортировка методом Д.Шелла

 

procedureShellSort(vara: tArray; n: integer);

var

  i, j, h: integer;

x: tItem;

begin

  h:=13;

whileh<n do

     h:=3*h + 1;

h:=(h - 1) div3;

repeat

     h:=(h - 1) div3;

fori:=h + 1 ton do begin

        x:=a[i];

    j:=i - h;

    while(j > 0) and(x.key < a[j].key) do begin

           a[j + h]:=a[j];

       j:=j - h;

    end;

a[j + h]:=x;

end;

untilh <= 1;

end;

 

 

Быстрая сортировка с ограничением рекурсии

 

procedureQuickSort(vara: tArray; n: integer);

procedureSort(L, R: integer);



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.