Transpozitsiya usuli
Ushbu usulda topilgan element ro’yhatda bitta oldingi element bilan o’rin almashtiriladi. Agarda mazkur elementga ko’p murojaat qilinsa, bittadan oldinga surilib borib natijada ro’yhat boshiga kelib qoladi. Ushbu usulning afzalligi shundaki, tuzilmada ko’p murojaat qilinadigan elementlar ro’yhat boshiga bitta qadam bilan intiladi.
Ushbu usulning qulayligi u nafaqat ro’yhatda, balki tartiblanmagan massivda ham samarali ishlaydi (sababi faqatgina ikkita yonma-yon turgan element o’rin almashtiriladi). Bu usulda uchta ko’rsatkichdan foydalanamiz
p – ishchi ko’rsatkich
q – yordamchi ko’rsatkich, p dan bitta qadam orqada bo’ladi
s – yordamchi ko’rsatkich, p dan ikkita qadam orqada bo’ladi
Biz tomonimizdan topilgan uchinchi element ro’yhat boshiga bir qadam suriladi (ya’ni ikkinchi bo’lib qoladi). Birinchi element ko’rsatkichi uchinchi elementga joylashtiriladi, ikkinchi element ko’rsatkichi to’rtinchi, shunday qilib uchinchi element ikkinchi joyga joylashib qoladi. Agar mazkur elementga yana bir bor murojaat qilinsa, u holda u ro’yhat boshida bo’lib qoladi.
node *s=NULL;
node *q=NULL;
node *p=table;
while (p != NULL){
if (key == p->k){ //transponerlaymiz
if( q ==NULL){//o‘rinlashtirish shart emas
search=p;
exit(0); }
q->nxt=p->nxt;
p->nxt=q;
if (s == NULL) table = p;
else s->nxt = p;
search=p; exit(0);
}
s=q;
q=p;
p=p->nxt; }
search=NULL;
exit(0);
Xulosa:
Ushbu qidiruv usullarini o’rganish jarayonida biz tuzilmaning shakliga qarab biror kalitga mos elementni qidirishning optimal usulini qo’llashni o;rganishimiz va qidiruv usullarining samaradorligini taqqoslashni o’rganishimiz mumkin.Kompyuterda ma’lumotlarni qidirish asosiy amallardan biri hisoblanadi.Qidirishdan asosiy maqsad berilgan argument bo’yicha massiv ma’lumotlari ichidan mazkur argumentga mos ma’lumotlarni topish yoki bunday ma’lumot yo’qligini aniqlashdan iborat. Ixtiyoriy ma’lumot (yoki tuzilma elementi) boshqa ma’lumotdan biror bir belgisi orqali farq qiladi. Mazkur belgi kalit deb ataladi. Kalit noyob bo’lishi, ya’ni mazkur kalitga ega ma’lumot jadvalda yagona bo’lishi mumkin. Bunday noyob kalitga boshlang’ich (birinchi) kalit deyiladi. Ikkinchi kalit bir jadvalda takrorlansada u orqali ham qidiruvni amalga oshirish mumkin
Foydalanilgan adabiyotlar:
http//:wikipedia
MA’LUMOTLAR TUZILMASI VA ALGORITMLAR Akbaraliyev B.B. Yusupova Z.Dj.
Алфред В. Ахо., Джон Э. Хопкрофт, Джефри Д. Ульман. Структура данных и алгоритмы//Учеб.пос., М. : Изд.дом: "Вильямс", 2000, - 384 с
Do'stlaringiz bilan baham: |