- Режа:
- Шелл саралаши;
- Пирамидасимон саралаш;
- Тез саралаш (Quicksort).
Шелл саралаши (қисқариб борувчи қадамлар орқали саралаш) - Шелл саралаш 1959 йилда Д.Шелл томонидан таклиф қилинган бўлиб, қўшиш орқали саралашнинг модификацияси ҳисобланади.
- Фараз қилайлик, a[0],a[1],a[2],…, a[n] бошланғич элементлар кетма-кетлиги бўлсин.
- 1-қадам. Бошланғич кетма-кетликнинг ҳар r1 ўринда жойлашган элементлари гуруҳланиб, ҳар бир гуруҳ алоҳида қўшиш усули орқали сараланади({a[0], a[r1], a[2*r1],…,}, {a[1], a[1+r1], a[1+2*r1],…,} в.ҳ.).
- 2-қадам. Ҳосил қилинган кетма-кетликда ҳар r2 ўринда жойлашган элементлар гуруҳланиб, ҳар бир гуруҳ алоҳида сараланади.
- ....................................................................................................................
- k-қадам. k-1 қадамда ҳосил бўлган кетма-кетлик оддий қўшиш усули орқали сараланади.
- Эслатма: r1>r2>…>rk-1>rk=1.
- 1-қадам. r1=8, яъни (a[0], a[8]), (a[1], a[9]), ... , (a[7], a[15]).
- 2-қадам. r2=4, яъни (a[0], a[4], a[8], a[12]), ..., (a[3], a[7], a[11], a[15]).
- 3-қадам. r3=2, яъни (a[0], a[2], a[4], a[6], a[8], a[10], a[12], a[14]), (a[1], a[3], a[5], a[7], a[9], a[11], a[13], a[15]).
- 4-қадам. r4=1, яъни (a[0], a[2], … , a[15]).
- Гарчи таққослашлар сони бир мунча ортиб борсада, элементларни ўринлаштиришлар анча кам бўлади.
- Бу усул натижасида ҳар бир ўтишдан кейин саралашлар камайиб боради. Энг ёмон ҳолатда охирги ишни яккалик саралаш амалга оширади.
- Шелл саралаш усулининг ягона тавсифи ҳар бир ўтишдан кейин қадамларни тўғри танлашдан иборат.
- Р.Седжвик таклиф этган қадамлар:
- Ўртача ҳолат - O(n7/6),
- Энг ёмон ҳолат - O(n4/3).
- Седжвик усули орқали қадамлар танланаётганда, агар 3*inc[s]>n бўлса, у ҳолда энг катта қадам inc[s-1] бўлади.
Пирамидасимон саралаш - <а1,а2,…, аi ,…,an> пирамида i учун (аi ≥ а2i ) (аi ≥ а2i +1 )
- Пирамидани массив кўринишида тасвирлаб олиш мақсадга мувофиқ бўлади.
- Бошланғич кетма-кетликдан пирамида шаклантирилади.
- Кириш ва тайёр кетма-кетлик битта массивда сақланади. Пирамида бошини оламиз ва тайёр кетма-кетликка жойлаштирамиз. Кейин қолган элементлар учун пирамидани тиклаймиз. Мазкур жараён барча элементлар тугагунча давом этилади.
- Самарадорлик: T(n)=O(nlogn)
- Бу усул алмаштириш усулидаги саралашга тегишли бўлиб унинг асосини калитларни танланган калитга нисбатан алмаштириш ташкил қилади.
- Самарадорлик: T(n)=O(nlogn)
- Shell саралаши
- Пирамида тушунчаси ва уни қуриш
- Пирамидасимон саралаш
- Тез саралаш тушунчаси
Do'stlaringiz bilan baham: |