Bog'langan ro'yxatni ikkilik qidirishingiz mumkinmi?
Bog'langan ro'yxatni ikkilik qidirishingiz mumkinmi?

Video: Bog'langan ro'yxatni ikkilik qidirishingiz mumkinmi?

Video: Bog'langan ro'yxatni ikkilik qidirishingiz mumkinmi?
Video: Get Paid $1769.16 In One Day With NO EFFORT Affiliate Marketing (Use Done For You Software) 2024, Noyabr
Anonim

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: