Video: Ikkilik qidiruv eng tezmi?
2024 Muallif: Lynn Donovan | [email protected]. Oxirgi o'zgartirilgan: 2023-12-15 23:54
Ikkilik qidiruv hisoblanadi Tezroq chiziqlidan ko'ra qidirmoq kichik massivlar bundan mustasno. Biroq, qo'llash uchun massiv avval tartiblangan bo'lishi kerak ikkilik qidiruv . Tezkorlik uchun mo'ljallangan maxsus ma'lumotlar tuzilmalari mavjud qidirish ga qaraganda samaraliroq qidirish mumkin bo'lgan xesh jadvallari kabi ikkilik qidiruv.
Oddiy qilib aytganda, ikkilik qidiruv chiziqli qidiruvdan tezroqmi?
Ikkilik qidiruv samaraliroqdir chiziqli qidiruvga qaraganda ; u vaqt murakkabligi O (log n) ga ega. Ma'lumotlar ro'yxati ishlashi uchun tartiblangan tartibda bo'lishi kerak. A ikkilik qidiruv tartiblangan massivning o'rta elementini topish va uni maqsadli elementingiz bilan solishtirish orqali ishlaydi.
Ikkinchidan, ikkilik qidiruv eng yaxshisi? Agar ma'lumotlar allaqachon kalitda tartiblangan bo'lsa qidirish uchun, keyin ikkilik qidiruv uzoqda yaxshiroq chiziqlidan ko'ra qidirmoq . Massivda 40 000 ta element bo'lsa, biroz orqaga chekinish, ikkilik qidiruv eng ko'p 16 ta taqqoslashga to'g'ri keladi, chiziqli esa qidirmoq eng ko'p 40 000 ta taqqoslash va o'rtacha 20 000 ta taqqoslashga to'g'ri keladi.
Shu munosabat bilan eng tezkor qidiruv algoritmi nima?
Ikkilik qidiruv
Ikkilik qidiruvning vaqt murakkabligi nima?
Ikkilik qidiruv eng yomon logarifmikda ishlaydi vaqt , O(log n) taqqoslashlarini amalga oshirish, bu yerda n massivdagi elementlar soni, O Big O belgisi, log esa logarifm. Ikkilik qidiruv doimiy (O(1)) bo‘sh joyni egallaydi, ya’ni algoritm egallagan fazo massivdagi istalgan sondagi elementlar uchun bir xil bo‘ladi.
Tavsiya:
Chiziqli qidiruv ketma-ket qidiruv bilan bir xilmi?
Dars: Qidiruv algoritmi
Ikkilik qidiruv rekursiyasi bormi?
Ikkilik qidiruv - bu bo'lish va zabt etish algoritmi. Barcha bo'lish va zabt etish algoritmlari singari, Ikkilik qidiruv birinchi navbatda katta massivni ikkita kichik kichik massivlarga ajratadi, so'ngra kichik massivlarni rekursiv (yoki iterativ) ishlaydi. Shunday qilib, Ikkilik qidiruv har bir qadamda qidiruv maydonini yarmiga qisqartiradi
Java-da ikkilik qidiruv daraxtini qanday amalga oshirasiz?
Java-da Binary Search Tree (BST) ni amalga oshirish Tugunning chap pastki daraxtida faqat tugmachalari tugun kalitidan kamroq bo'lgan tugunlar mavjud. Tugunning o'ng pastki daraxti faqat tugun kalitidan kattaroq kalitlarga ega bo'lgan tugunlarni o'z ichiga oladi. Chap va o'ng pastki daraxt ham ikkilik qidiruv daraxti bo'lishi kerak. Ikki nusxadagi tugunlar bo'lmasligi kerak
Ikkilik qidiruv daraxtining eng yomon holatlari va o'rtacha murakkabligi qanday?
Ikkilik qidiruv daraxti Algoritm Oʻrtacha Eng yomon holat Boʻshliq O(n) O(n) Qidirish O(log n) O(n) Insert O(log n) O(n) Oʻchirish O(log n) O(n)
C++ da ikkilik qidiruv nima?
Ikkilik qidiruv - tartiblangan ro'yxatda saqlangan elementning joylashuvini topish uchun mo'ljallangan soddalashtirilgan algoritm. C dasturida ikkilik qidiruvning bir nechta o'zgarishlari mavjud, masalan, algoritmning har bir bosqichida tenglik va kamroq testlar