- •З дисципліни "Структури даних і алгоритми"
- •2 Семестр 2010/2011
- •Дослідження ефективності методів сортування: №1 методу прямої вставки, №4 методу прямого вибору, №3 методу прямого обміну.
- •Технічне завдання на курсову роботу з дисципліни
- •1. Впорядкувати окремо кожен переріз тривимірного масиву а [p,m,n] наскрізно по рядках за незменшенням.
- •1. Алгоритм сортування №1 методу прямої вставки (з лінійним пошуком місця вставки від початку послідовності, що сортується , або «зліва»).
- •2. Алгоритм сортування №4 методу прямого вибору.
- •1 Прохід
- •4 Прохід
- •3. Алгоритм сортування №3 методу прямого обміну (із запам’ятовуванням місця останньої перестановки).
- •2 Прохід
- •7Прохід
- •Зв‘язки між модулями та головною програмою:
- •Опис призначення модулів, процедур та функцій
- •Текст програми
- •Результати:
- •Порівняльний аналіз алгоритмів Характеристика алгоритмів для сортування одновимірного масиву:
- •Порівняльна характеристика алгоритмів при сортуванні одновимірних і двовимірних масивів:
- •Порівняльна характеристика методів сортування багатовимірних масивів між собою:
- •Характеристика впливу різних геометричних розмірів багатовимірних масивів:
- •Список вживаної літератури:
2 Прохід
А
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8=n |
3 |
7 |
11 |
5 |
8 |
2 |
14 |
16 |
{R=7}
Умова: R>1 => true =>
k:=1;
Робимо прохід по i {від 1 до R-1} комірках:
{i=1} Якщо A[i]>A[i+1] => false => у внутрішній цикл не заходимо;
{i=2} Якщо A[i]>A[i+1] => false => у внутрішній цикл не заходимо;
{i=3} Якщо A[i]>A[i+1] => true => замінюємо місцями елементи:
B:=A[i]; A[i]:=A[i+1]; A[i+1]:=B; {A[3]=5; A[4]=11} k:=i; {k=3}
{i=4} Якщо A[i]>A[i+1] => true => замінюємо місцями елементи:
B:=A[i]; A[i]:=A[i+1]; A[i+1]:=B; {A[4]=8; A[5]=11} k:=i; {k=4}
{i=5} Якщо A[i]>A[i+1] => true => замінюємо місцями елементи:
B:=A[i]; A[i]:=A[i+1]; A[i+1]:=B; {A[5]=2; A[6]=11} k:=i; {k=5}
{i=3} Якщо A[i]>A[i+1] => false => у внутрішній цикл не заходимо;
R:=k; {R=5}
прохід
А
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8=n |
3 |
7 |
5 |
8 |
2 |
11 |
14 |
16 |
{R=5}
Умова: R>1 => true =>
k:=1;
Робимо прохід по i {від 1 до R-1} комірках:
{i=1} Якщо A[i]>A[i+1] => false => у внутрішній уикл не заходимо;
{i=2} Якщо A[i]>A[i+1] => true => замінюємо місцями елементи:
B:=A[i]; A[i]:=A[i+1]; A[i+1]:=B; {A[2]=5; A[3]=7} k:=i; {k=2}
{i=3} Якщо A[i]>A[i+1] => false => у внутрішній цикл не заходимо;
{i=4} Якщо A[i]>A[i+1] => true => замінюємо місцями елементи:
B:=A[i]; A[i]:=A[i+1]; A[i+1]:=B; {A[4]=2; A[5]=8} k:=i; {k=4}
R:=k {R=4}
прохід
А
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8=n |
3 |
5 |
7 |
2 |
8 |
11 |
14 |
16 |
{R=4}
Умова: R>1 => true =>
k:=1;
Робимо прохід по i {від 1 до R-1} комірках:
{i=1} Якщо A[i]>A[i+1] => false => у внутрішній уикл не заходимо;
{i=2} Якщо A[i]>A[i+1] => false => у внутрішній уикл не заходимо;
{i=3} Якщо A[i]>A[i+1] => true => замінюємо місцями елементи:
B:=A[i]; A[i]:=A[i+1]; A[i+1]:=B; {A[3]=2; A[4]=7} k:=i; {k=3}
R:=k {R=3}
прохід
А
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8=n |
3 |
5 |
2 |
7 |
8 |
11 |
14 |
16 |
{R=3}
Умова: R>1 => true =>
k:=1;
Робимо прохід по i {від 1 до R-1} комірках:
{i=1} Якщо A[i]>A[i+1] => false => у внутрішній уикл не заходимо;
{i=2} Якщо A[i]>A[i+1] => true => замінюємо місцями елементи:
B:=A[i]; A[i]:=A[i+1]; A[i+1]:=B; {A[2]=2; A[3]=5} k:=i; {k=2}
R:=k {R=2}
прохід
А
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8=n |
3 |
2 |
5 |
7 |
8 |
11 |
14 |
16 |
{R=2}
Умова: R>1 => true =>
k:=1;
Робимо прохід по i {від 1 до R-1} комірках:
{i=1} Якщо A[i]>A[i+1] => true => замінюємо місцями елементи:
B:=A[i]; A[i]:=A[i+1]; A[i+1]:=B; {A[1]=2; A[2]=3} k:=i; {k=1}
R:=k {R=1}
