Kurs ishi bajardi: S2-kt-21 guruh talabasi
Download 211.58 Kb.
|
Mavzu Saralash algoritmlari. Saralashning yaxshilangan usullari
- Bu sahifa navigatsiya:
- N = 0,01n2 + 10n
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 doo`nto 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 оlganda, qanday qadamlar tanlanganda eng yaхshi natija оlinishi isbоtlanmagan bo`lsada, lеkin bu qadamlar biri ikkinchisini ko`paytuvchilari bo`lmasligi lоzimligi aniqlangan. D. Knut qadamlarni quyidagicha kеtma-kеtligini taklif qilgan (tеskari tartibda): 1,3,7,15,31,…,ya’ni: hm-1=2hm+1, ht=1, t = [log2n] - 1. Agar qadamlar ushbu ko`rinishda aniqlansa, algоritm samaradоrligi tartibi Saralash samaradorligini bir necha mezonlar bo'yicha baholash mumkin: saralashga ketgan vaqt; saralash uchun talab qilingan operativ xotira; dasturni ishlab chiqishga ketgan vaqt. Birinchi mezonni qarab chiqaylik. Saralash bajarilganda taqqoslashlar yoki almashtirishlar sonini hisoblash mumkin. Faraz qilaylik, N = 0,01n2 + 10n – taqqoslashlar soni. Agar n < 1000 bo'lsa, u holda ikkinchi qo'shiluvchi katta, aks holda ya'ni, n > 1000 bo'lsa, birinchi qo'shiluvchi katta bo'ladi. Demak, kichkina n larda taqqoslashlar soni n ga teng bo'ladi, katta n larda esa n2 ga teng bo'ladi. Saralashda taqqoslashlar soni quyidagi oraliqlarda bo'ladi: dan gacha – ideal holatda. Saralashning quyidagicha usullari bor: qat'iy (to'g'ridan-to'g'ri) usullar; yaxshilangan usullar. Qat'iy usullarning afzalliklarini ko'rib chiqaylik: 1. Bilamizki, dasturlarning o'zlari ham xotirada joy egallaydi. To'g'ridan-to'g'ri saralash usullarining dasturlari qisqa bo'lib, ular tushunishga oson.
Download 211.58 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling