23.2 Joylash(Insertion) orqali saralash Insertion sort (Joylab saralash) ham tartibsiz array elementlarini saralash uchun mo’ljallangan. Uning ishlash prinsipi (g’oyasi) huddi qo’ldagi kartani saralashga o’xshab ketadi. Ya’ni tartibsiz turgan kartalar ichidan birini olasiz va uni o’zi turishi kerak bo’lgan joyga joylashtirib qo’yasiz.
Insertion sort ham shunday ishlaydi. Algoritm oldin array boshidagi ikkita elementni saralab oladida qolgan elementlarni shularga qarab o’z o’rniga joylashtirib ketaveradi. (Ulardan oldiga, ularning orasiga yoki ulardan keyinga). Har bir element huddi shu tartibda o’z o’rnini topib boraveradi.
Algoritm qadamlari
Array boshidagi ikkita element solishtirib, saralab olinadi.
Qolgan elementlar bitta bitta qarab chiqiladi. (Tashqi iteratsiya)
Har bir element ichki takrorlanish orqali o’z joyiga joylashtirib boriladi. Bu yerda array chegaralaridan o’tib ketib qolmaslikka e’tibor berish kerak.
4. Tashqi takrorlanish tugashi bilan array ham saralangan bo’ladi.
24.1 Graf na’lumotlar tuzilmasi Graf — obyektlar toʻplamining grafik koʻrinishi boʻlib, unda baʼzi juft obyektlar linklar orqali bogʻlanadi. Oʻzaro bogʻlangan obyektlar uchlari deb ataladigan nuqtalar bilan ifodalanadi, uchlarini bogʻlaydigan boʻgʻinlar esa qirralar deb nomlanadi.
Rasmiy ravishda, graf bir juft toʻplamdir (V, E), bu yerda V — uchlarning toʻplami, E — uchli juftlarni bogʻlaydigan qirralarning toʻplami.
Matematik graflarni maʼlumotlar tuzilmasida ifodalash mumkin. Biz uch massivi va qirralarning ikki oʻlchovli qatoridan foydalanishimiz mumkin. Oldinga davom etishdan oldin, baʼzi muhim atamalar bilan tanishib chiqaylik.
• Vertex — grafning har bir tuguni vertex shaklida taqdim etiladi. Quyidagi misolda yorliqlangan doira uchlarini bildiradi. Shunday qilib, A dan G gacha uchlar. Biz ularni quyidagi tasvirda koʻrsatilgandek massiv yordamida namoyish etishimiz mumkin. Bu yerda A indeks 0 bilan aniqlanishi mumkin. B indeks 1 va hokazo yordamida aniqlanishi mumkin.
• Qirra — qirralar ikki uchining orasidagi yoʻlni yoki ikki uchi orasidagi chiziqni anglatadi. Quyidagi misolda A dan B gacha, B dan C gacha va hokazo chiziqlar qirralarni anglatadi. Quyidagi tasvirda koʻrsatilgandek massivni namoyish qilish uchun biz ikki oʻlchovli massivdan foydalanishimiz mumkin. Bu yerda AB 0 qatorida 1, BC 1 qatorida 1, 2 qatorda va boshqalarda, boshqa kombinatsiyalarni 0 shaklida saqlash mumkin.
• Qoʻshni (Adjacency) — ikki tugun yoki uch qismlar bir-biriga qirralar orqali ulangan boʻlsa, qoʻshni boʻladi. Quyidagi misolda B A bilan qoʻshni, C B bilan qoʻshni va hokazo.
• Yoʻl (path) — yoʻl ikki uchining orasidagi qirralarning ketma-ketligini anglatadi