Mundarija:
Video: Yagona bog'langan ro'yxatni qanday saralashim mumkin?
2024 Muallif: Lynn Donovan | [email protected]. Oxirgi o'zgartirilgan: 2023-12-15 23:54
Quyida oddiy kiritish mavjud saralash uchun algoritm bog'langan ro'yxat . 1) Bo'sh joy yarating saralangan (yoki natija) ro'yxati 2) Berilgan chiziqni aylanib o'ting ro'yxati , har bir tugun uchun amal qiling. a) joriy tugunni kiriting saralangan kirish saralangan yoki natija ro'yxati . 3) Berilganning boshini o'zgartiring bog'langan ro'yxat boshiga saralangan (yoki natija) ro'yxati.
Shu munosabat bilan bog'langan ro'yxatni saralay olasizmi?
Birlashtirish saralash uchun ko'pincha afzallik beriladi bog'langan ro'yxatni saralash . a ning sekin tasodifiy kirish ishlashi bog'langan ro'yxat ba'zi boshqa algoritmlarni (masalan, tezkor saralash) yomon ishlaydi va boshqalarni (masalan, yig'indili saralash) butunlay imkonsiz qiladi. Bosh ning birinchi tuguniga aylansin bog'langan ro'yxat saralanadi va headRef boshga ko'rsatkich bo'ladi.
Ikkinchidan, pufakcha tartiblash yordamida bog'langan ro'yxatni qanday saralaysiz? Pufakchani saralash uchun biz quyidagi amallarni bajaramiz:
- 1-qadam: 2 ta qo'shni tugundagi ma'lumotlar o'sish tartibida yoki yo'qligini tekshiring. Agar yo'q bo'lsa, ikkita qo'shni tugunning ma'lumotlarini almashtiring.
- 2-qadam: 1-o'tish oxirida eng katta element ro'yxat oxirida bo'ladi.
- 3-qadam: Barcha elementlar boshlanganda biz tsiklni tugatamiz.
Shunday qilib, bog'langan ro'yxatdagi ma'lumotlarni qanday saralaysiz?
Algoritm
- Ikki atributga ega bo'lgan tugun sinfini yarating: ma'lumotlar va keyingi.
- Ikki atributga ega bo'lgan SortList boshqa sinfini yarating: bosh va quyruq.
- addNode() ro'yxatga yangi tugun qo'shadi:
- sortList() roʻyxat tugunlarini oʻsish tartibida tartiblaydi.
- display() ro'yxatda mavjud tugunlarni ko'rsatadi:
Bog'langan ro'yxatni alifbo tartibida qanday tartiblashim mumkin?
Tartiblash qator Bog'langan ro'yxat Java-da oson. Siz.. qila olasiz; siz … mumkin saralash ip Bog'langan ro'yxat ko'tarilishda alifbo tartibida foydalanish orqali saralash ( Ro'yxat ro'yxati ). Siz ham mumkin saralash ip Bog'langan ro'yxat tushishda alifbo tartibida foydalanish orqali saralash ( Ro'yxat ro'yxati , solishtiruvchi c).
Tavsiya:
Bog'langan ro'yxatni alifbo tartibida qanday tartiblashim mumkin?
Java-da LinkedList qatorini saralash oson. Sort (Roʻyxat roʻyxati) dan foydalanib, LinkedList qatorini oʻsish boʻyicha alifbo tartibida tartiblashingiz mumkin. Shuningdek, siz LinkedList qatorini alifbo tartibida kamayish bo'yicha saralashingiz mumkin
Ikki marta bog'langan DLL ro'yxati yagona bog'langan ro'yxat SLL bilan qanday taqqoslanadi?
Ikki marta bog'langan ro'yxatga kirish: Ikki marta bog'langan ro'yxat (DLL) qo'shimcha ko'rsatgichni o'z ichiga oladi, odatda oldingi ko'rsatgich deb ataladi, keyingi ko'rsatgich va alohida bog'langan ro'yxatdagi ma'lumotlar bilan birga. SLL faqat ma'lumotlar maydoni va keyingi havola maydoniga ega tugunlarga ega. DLL SLL dan ko'ra ko'proq xotirani egallaydi, chunki u 3 ta maydonga ega
Doiraviy bog'langan ro'yxatni qanday o'chirish mumkin?
Doiraviy bog'langan ro'yxatdan o'chirish Agar ro'yxat bo'sh bo'lmasa, biz ikkita ko'rsatgich kursr va oldingisini aniqlaymiz va bosh tugun bilan ko'rsatgich kursini ishga tushiramiz. O'chiriladigan tugunni topish uchun curr yordamida ro'yxatni aylantiring va kursni keyingi tugunga o'tkazishdan oldin, har safar oldingi = curr o'rnatiladi. Agar tugun topilsa, u ro'yxatdagi yagona tugun ekanligini tekshiring
Ikki marta bog'langan ro'yxat va dumaloq bog'langan ro'yxat o'rtasidagi farq nima?
Dumaloq bog'langan ro'yxat - bu nostart yoki oxirgi tugunlar mavjud bo'lgan ro'yxat, lekin buning o'rniga ular aylana naqshiga amal qiladi. Ikki marta bog'langan ro'yxat - bu har bir tugun nafaqat keyingi tugunni, balki oldingi tugunni ham ko'rsatadigan ro'yxat
Bog'langan ro'yxatni ikkilik qidirishingiz mumkinmi?
Ha, agar ro'yxat tartiblangan bo'lsa va siz ro'yxatdagi elementlar sonini bilsangiz, bog'langan ro'yxatda ikkilik qidirish mumkin. Ammo ro'yxatni saralashda siz bir vaqtning o'zida bitta elementga ushbu tugunga ko'rsatgich orqali kirishingiz mumkin, ya'ni oldingi tugun yoki keyingi tugun