Mundarija:

Java-da ikkilik qidiruv daraxtini qanday amalga oshirasiz?
Java-da ikkilik qidiruv daraxtini qanday amalga oshirasiz?

Video: Java-da ikkilik qidiruv daraxtini qanday amalga oshirasiz?

Video: Java-da ikkilik qidiruv daraxtini qanday amalga oshirasiz?
Video: BİR O'ZİNGİZ KO'RİNG / DUNYODAGİ ENG G'ALATİ ER-XOTİNLAR / Buni Bilasizmi? 2024, Aprel
Anonim

Java-da Ikkilik qidiruv daraxtini (BST) amalga oshirish

  1. Tugunning chap pastki daraxti faqat tugun kalitidan kamroq kalitlarga ega bo'lgan tugunlarni o'z ichiga oladi.
  2. Tugunning o'ng pastki daraxti faqat tugun kalitidan kattaroq kalitlarga ega bo'lgan tugunlarni o'z ichiga oladi.
  3. Chap va o'ng pastki daraxt ham a bo'lishi kerak ikkilik qidiruv daraxti .
  4. Ikki nusxadagi tugunlar bo'lmasligi kerak.

Bundan tashqari, Java-da ikkilik qidiruv qanday amalga oshiriladi?

Keling, java-da ikkilik qidiruv misolini ko'rib chiqaylik, bu erda biz rekursiya yordamida massivdagi elementni qidiramiz

  1. sinf BinarySearchExample1{
  2. umumiy statik int binarySearch(int arr, int birinchi, int oxirgi, int kaliti){
  3. agar (oxirgi>=birinchi){
  4. int mid = birinchi + (oxirgi - birinchi)/2;
  5. agar (arr[mid] == kaliti){
  6. o'rtada qaytish;
  7. }

Ikkinchidan, biz ikkilik qidiruv daraxtini qayerda ishlatamiz? Ikkilik qidiruv daraxti - Ishlatilgan ko'pchilikda qidirmoq ko'p tillar kutubxonalaridagi xarita va o'rnatish ob'ektlari kabi ma'lumotlar doimiy ravishda kiruvchi/chiqadigan ilovalar. Ikkilik Kosmik bo'linish - Ishlatilgan deyarli har bir 3D video o'yinida qanday ob'ektlarni ko'rsatish kerakligini aniqlash uchun.

Shunday qilib, ikkilik daraxtlar qanday hosil bo'ladi?

Rekursiya yordamida ikkilik daraxt yaratish

  1. X dagi ma'lumotlarni o'qing.
  2. Yangi tugun uchun xotira ajrating va manzilni p ko'rsatkichida saqlang.
  3. X ma'lumotlarini p tugunida saqlang.
  4. Rekursiv ravishda p ning chap pastki daraxtini yarating va uni p ning chap qismiga aylantiring.
  5. Rekursiv ravishda p ning to'g'ri pastki daraxtini yarating va uni p ning to'g'ri bolasi qiling.

Ikkilik qidiruvning murakkabligi nima?

Ikkilik qidiruv eng yomon logarifmik vaqtda ishlaydi, O(log n) taqqoslashlarini amalga oshiradi, 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: