Subroutine ShellSort
const t = 3;
h(1) = 5;
h(2) = 3;
h(3) = 1;
var
h: array [1..t] of integer;
a: array [1..n] of integer;
k, x, m, t, i, j: integer;
begin
for m = 1 to t do
begin
k:= h(m);
for i = k + 1 to n do
begin
x:= a(i);
for j = i-k downto k do
begin
if x < a(j ) then
a(j+k):= a(j);
else
goto 1;
end ;
end;
end;
1: a(j+1) = x ;
end;
end .
Umuman olganda, qanday qadamlar tanlanganda eng yaxshi natija olinishi isbotlanmagan bo’lsada, lekin bu qadamlar biri ikkinchisini ko’paytuvchilari bo’lmasligi lozimligi aniqlangan.
D. Knut qadamlarni quyidagicha ketma-ketligini taklif qilgan (teskari tartibda): 1,3,7,15,31,…,ya’ni: hm-1=2hm+1, ht=1, t = [log2n] - 1. Agar qadamlar ushbu ko’rinishda aniqlansa, algoritm samaradorligi tartibi O(n1.2).
Nazorat savollari
Saralash deganda nimani tushunasiz?
Saralashning asosiy usullarini aytib bering.
Saralashning qaysi usulari qat’iy usulga tegishli?
Saralashning yaxshilangan usullarini aytib bering.
Qanday saralash turg’un deyiladi?
To’g’ridan-to’g’ri qo’shish usuli g’oyasi nimadan iborat?
To’g’ridan-to’g’ri tanlash usuli g’oyasi nimadan iborat?
To’g’ridan-to’g’ri almashtirish usuli g’oyasi nimadan iborat?
Yuqoridagi usullarning bir biridan farqini aytib bering.
Qaysi saralash usuli eng samarali bo’lib hisoblanadi?
Shell usuli qaysi asosiy saralash usuliga tegishli?
Adabiyotlar.
1.Adam Drozdek. Data structure and algorithms in C++. Fourth edition. 2013. Chapter 9.
6-ma’ruza.
Chiziqli ma’lumotlar tuzilmalari. Statik va dinamik massivlar. Chiziqli konteynerlar va ularni qo‘llash.
Reja.
Chiziqli ma’lumotlar tuzilmalari .Statik ma’lumotlar tuzilmasi haqida tushuncha.
Stek tuzilmasi va uni dasturda amalga oshirish, ustida amal bajarish
Navbat tuzilmasi va dasturda ifodalanishi, ustida amal bajarilishi
Deklar. Ustida amal bajarish
Kalit so’zlar: Chiziqli ma’lumotlar tuzilmalari, navbat, stek, dek, yarimstatik tuzilmalar.
Kalit so’zlar: statik ma’lumotlar tuzilmasi, tuzilma uzunligi, xotira, massivlar, matrisalar, strukturalar, funksiyalar
Chiziqli MT – bu elementlari qat’iy tartiblangan yani 1- va oxirgi elementidan tashqari xar bir elementi uchun aniq o’zidan oldingi va keyingi element mavjud bo’lgan tuzilmadir. Elementlari xotirada ketma ket yacheykalarda joylashadi. Misol: massiv, satr,vector, navbat, stek,dek kabilar
Chiziqsiz MT – bu elementlari qat’iy tartiblanganmagan tuzilmadir:daraxt,graf
Do'stlaringiz bilan baham: |