Shell sort algoritmi orqali Respublikamizdagi viloyatlar maydonini o’sish tartibida joylashtiring


Download 498.39 Kb.
bet2/4
Sana26.12.2022
Hajmi498.39 Kb.
#1067032
1   2   3   4
Bog'liq
Sayfullayev Shahzod Malumotlar Tuzilmasi Va Algoritm

hash() funksiyasining xossalari
Hash() yordamida xeshlangan ob'ektlar qaytarib bo'lmaydigan bo'lib, ma'lumotlarning yo'qolishiga olib keladi.
hash() faqat o'zgarmas ob'ektlar uchun xeshlangan qiymatni qaytaradi, shuning uchun o'zgaruvchan/o'zgarmas ob'ektlarni tekshirish uchun indikator sifatida foydalanish mumkin.
Python hash() usullari Misol
misol: hash() ning ishlashini ko'rsatish
str_val = 'ShahzodSayfullayev'
print("String xesh qiymati : " + str(hash(str_val)))
bu yerda biz ism familiyani hashladik


Nazariy qism
Shell tartiblash algoritmi
Ushbu qo'llanmada siz qobiqni tartiblash algoritmi va uni Python, Java, C va C++ da amalga oshirish haqida bilib olasiz.
Shell sort - qo'shish tartiblash algoritmining umumlashtirilgan versiyasi . U birinchi navbatda bir-biridan uzoqda joylashgan elementlarni saralaydi va saralanadigan elementlar orasidagi intervalni ketma-ket qisqartiradi.
Amaldagi ketma-ketlik asosida elementlar orasidagi interval kamayadi. Qobiqni tartiblash algoritmida ishlatilishi mumkin bo'lgan optimal ketma-ketliklardan ba'zilari:

  • Shellning asl ketma-ketligi :N/2 , N/4 , …, 1

  • Knut o'sishlari :1, 4, 13, …, (3k – 1) / 2

  • Sedgewick o'sishi :1, 8, 23, 77, 281, 1073, 4193, 16577...4j+1+ 3·2j+ 1

  • Hibbardning o'sishi :1, 3, 7, 15, 31, 63, 127, 255, 511…

  • Papernov va Stasevich o'sishi :1, 3, 5, 9, 17, 33, 65,...

  • Pratt :1, 2, 3, 4, 6, 9, 8, 12, 18, 27, 16, 24, 36, 54, 81....

Eslatma: Qobiq tartiblashning ishlashi berilgan kirish massivi uchun ishlatiladigan ketma-ketlik turiga bog'liq.
Shell Sort bilan ishlash

  1. Aytaylik, biz quyidagi massivni saralashimiz kerak. Dastlabki massiv

  2. (N/2, N/4, ...1Biz algoritmimizda intervallar sifatida qobiqning asl ketma-ketligidan foydalanamiz .

    Birinchi siklda, agar massiv o'lchami N = 8keyin bo'lsa, oraliqda joylashgan elementlar N/2 = 4taqqoslanadi va agar ular tartibda bo'lmasa almashtiriladi.



    1. 0-element bilan taqqoslanadi 4 element.

    2. Agar 0-element dan katta bo'lsa 4 keyin, bir 4element birinchi navbatda tempo'zgaruvchida saqlanadi va 0thelement (ya'ni kattaroq element) 4thpozitsiyada saqlanadi va saqlangan element pozitsiyada tempsaqlanadi 0th. Elementlarni n/2 oraliqda qayta tartiblang
      Bu jarayon qolgan barcha elementlar uchun davom etadi. Barcha elementlarni n/2 oralig'ida qayta joylashtiring

  3. Ikkinchi siklda - oralig'i N/4 = 8/4 = 2olinadi va yana shu oraliqlarda yotgan elementlar tartiblanadi. Elementlarni n/4 oraliqda qayta tartiblang
    Bu vaqtda siz chalkashib ketishingiz mumkin. Joriy intervalda joylashgan massivdagi barcha elementlar solishtiriladi.
    Elementlar 4va 2ndpozitsiyasi solishtiriladi. Elementlar2va 0thpozitsiyasi ham solishtiriladi. Joriy intervalda joylashgan massivdagi barcha elementlar solishtiriladi.

  4. Xuddi shu jarayon qolgan elementlar uchun ham davom etadi. Barcha elementlarni n/4 oraliqda qayta tartiblang

  5. Nihoyat, interval bo'lganda, N/8 = 8/8 =11 oraliqda joylashgan massiv elementlari tartiblanadi. Endi massiv toʻliq tartiblangan. Elementlarni n/8 oraliqda qayta tartiblang


Download 498.39 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling