Video: Bog'langan ro'yxatni ikkilik qidirishingiz mumkinmi?
2024 Muallif: Lynn Donovan | [email protected]. Oxirgi o'zgartirilgan: 2023-12-15 23:54
Ha, Ikkilik qidiruv da mumkin bog'langan ro'yxat bo'lsa the ro'yxati buyuriladi va siz elementlar sonini bilish ro'yxati . Lekin saralash paytida ro'yxati , Siz.. qila olasiz; siz … mumkin bir vaqtning o'zida bitta elementga ushbu tugunga ko'rsatgich orqali kirish, ya'ni oldingi tugun yoki keyingi tugun.
Shunday qilib, bog'langan ro'yxatda ikkilik qidiruv qo'llanilganda vaqt murakkabligi qanday bo'ladi?
Vaqtning murakkabligi O(log n) dan oshmasligi kerak. Sifatida bog'langan ro'yxat qiladi Agar biz harakat qilsak, tasodifiy kirishni ta'minlamaymiz ikkilik qidiruvni qo'llang uni algoritm qiling bo'ladi kerak bo'lganda O(n) ga yetib boramiz toping uzunligi ro'yxati va o'rtaga boring.
Shuningdek, bilingki, ikkilik qidiruv qanday amalga oshiriladi? Ikkilik qidiruv : Qidirmoq ni qayta-qayta bo'lish orqali tartiblangan massiv qidirmoq yarmida interval. Butun massivni qamrab oladigan interval bilan boshlang. Agar ning qiymati qidirmoq kalit intervalning o'rtasida joylashgan elementdan kichikroq, intervalni pastki yarmiga toraytiring. Aks holda, uni yuqori yarmiga toraytiring.
Ikkilik qidiruv ro'yxatdagi elementni topish uchun qaysi usuldan foydalanadi?
Ikkilik qidiruv tartiblangan massivlarda ishlaydi. Ikkilik qidiruv a ni solishtirish bilan boshlanadi element maqsad bilan massivning o'rtasida qiymat . Maqsad bo'lsa qiymat ga mos keladi element , uning massivdagi o'rni qaytariladi. Maqsad bo'lsa qiymat dan kamroq element , the qidirmoq massivning pastki yarmida davom etadi.
Bog'langan ro'yxat orqali qanday takrorlash mumkin?
An Iterator aylanish uchun ishlatilishi mumkin orqali a Bog'langan ro'yxat . HasNext() usuli ko'proq elementlar mavjud bo'lsa, true qiymatini qaytaradi Bog'langan ro'yxat va aks holda yolg'on. Keyingi() usuli keyingi elementni qaytaradi Bog'langan ro'yxat va agar keyingi element bo'lmasa, NoSuchElementException istisnosini chiqaradi.
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
Yagona bog'langan ro'yxatni qanday saralashim mumkin?
Quyida bog'langan ro'yxat uchun oddiy qo'shish tartiblash algoritmi keltirilgan. 1) Bo'sh tartiblangan (yoki natija) ro'yxatini yarating 2) Berilgan ro'yxat bo'ylab harakatlaning, har bir tugun uchun quyidagi amallarni bajaring. a) Joriy tugunni tartiblangan yoki natijalar ro'yxatiga tartiblangan tarzda kiriting. 3) Berilgan bog'langan ro'yxatning boshini tartiblangan (yoki natija) ro'yxatining boshiga o'zgartiring
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