Агуулгын хүснэгт:

Та Java дээр хоёртын хайлтын модыг хэрхэн хэрэгжүүлэх вэ?
Та Java дээр хоёртын хайлтын модыг хэрхэн хэрэгжүүлэх вэ?

Видео: Та Java дээр хоёртын хайлтын модыг хэрхэн хэрэгжүүлэх вэ?

Видео: Та Java дээр хоёртын хайлтын модыг хэрхэн хэрэгжүүлэх вэ?
Видео: Java дахь хоёртын хайлтын мод - 1 : Хоёртын хайлтын мод үүсгэх 2024, Дөрөвдүгээр сар
Anonim

Java дээр хоёртын хайлтын модыг (BST) хэрэгжүүлэх

  1. Зангилааны зүүн дэд мод нь зөвхөн зангилааны түлхүүрээс бага түлхүүртэй зангилаануудыг агуулна.
  2. Зангилааны баруун дэд мод нь зөвхөн зангилааны түлхүүрээс их түлхүүртэй зангилаануудыг агуулна.
  3. Зүүн ба баруун дэд мод тус бүр нь мөн байх ёстой хоёртын хайлтын мод .
  4. Давхардсан зангилаа байх ёсгүй.

Мөн Java дээр хоёртын хайлт хэрхэн хэрэгждэг вэ гэсэн асуулт гарч ирнэ.

Бид рекурс ашиглан массиваас элемент хайх гэж буй java дахь хоёртын хайлтын жишээг харцгаая

  1. анги BinarySearchExample1{
  2. нийтийн статик int binarySearch(int arr, int эхний, int сүүлчийн, int түлхүүр){
  3. хэрэв (сүүлийн>=эхний){
  4. int mid = эхний + (сүүлийн - эхний)/2;
  5. хэрэв (arr[mid] == түлхүүр){
  6. дунд буцах;
  7. }

Хоёрдугаарт, бид хоёртын хайлтын модыг хаана ашигладаг вэ? Хоёртын хайлтын мод - Ашигласан олонд хайх Олон хэлний номын сан дахь газрын зураг, багц объект зэрэг өгөгдөл байнга орж/гардаг програмууд. Хоёртын Сансрын хуваалт - Ашигласан бараг бүх 3D видео тоглоомонд ямар объектыг дүрслэх шаардлагатайг тодорхойлох.

Тэгэхээр, хоёртын мод хэрхэн үүсдэг вэ?

Рекурс ашиглан хоёртын мод үүсгэх

  1. x дахь өгөгдлийг уншина уу.
  2. Шинэ зангилаанд санах ойг хуваарилж, хаягийг заагч p дээр хадгална.
  3. р зангилаанд х өгөгдлийг хадгална.
  4. p-ийн зүүн дэд модыг давталттайгаар үүсгэж, p-ийн зүүн хүүхэд болго.
  5. Рекурсив байдлаар p-ийн зөв дэд модыг үүсгэж, p-ийн зөв хүүхэд болго.

Хоёртын хайлтын нарийн төвөгтэй байдал гэж юу вэ?

Хоёртын хайлт нь хамгийн муу логарифмын хугацаанд ажилладаг бөгөөд O(log n) харьцуулалт хийх ба энд n нь массив дахь элементийн тоо, O нь Big O тэмдэглэгээ, log нь логарифм юм. Хоёртын хайлт тогтмол (O(1)) зай эзэлдэг бөгөөд энэ нь алгоритмын авсан зай массивын аль ч тооны элементийн хувьд ижил байна гэсэн үг.

Зөвлөмж болгож буй: