Სარჩევი:

როგორ პოულობთ ორობითი ძიების შუა რიცხვებს?
როგორ პოულობთ ორობითი ძიების შუა რიცხვებს?

ვიდეო: როგორ პოულობთ ორობითი ძიების შუა რიცხვებს?

ვიდეო: როგორ პოულობთ ორობითი ძიების შუა რიცხვებს?
ვიდეო: Binary Search Algorithm in 100 Seconds 2024, ნოემბერი
Anonim

დახარისხებული მასივის გათვალისწინებით, ჩვენ ვპოულობთ შუა -ყველაზე ელემენტი და შეამოწმეთ ელემენტი გასაღებით. თუ შუა - ელემენტის უმეტესობა გასაღების ტოლია, ჩვენ ვიპოვნეთ გასაღები. თუ შუა - ყველაზე ელემენტი უფრო დიდია ვიდრე გასაღები, ჩვენ ძებნა მარცხენა ნახევარზე შუა - ყველაზე ელემენტი, თორემ ჩვენ ძებნა მარჯვენა ნახევარზე.

ანალოგიურად, ადამიანები კითხულობენ, როგორ პოულობთ ბინარულ ძიებას?

ორობითი ძებნა : ძიება დალაგებული მასივი განმეორებით გაყოფით ძებნა ინტერვალი ნახევარში. დაიწყეთ ინტერვალით, რომელიც მოიცავს მთელ მასივს. თუ ღირებულება ძებნა გასაღები ნაკლებია, ვიდრე ელემენტი შუა ინტერვალით, დაიკლო ინტერვალი ქვედა ნახევარზე. წინააღმდეგ შემთხვევაში ვიწრო ზედა ნახევარზე.

ანალოგიურად, რა არის ბინარული ძიების დიდი O? ორობითი ძებნა არის ფაქტობრივად ა ძებნა ოპერაცია დაბალანსებულ BST-ზე ( ბინარული ძებნა ხე). Როგორი ძებნა აქვს დროის სირთულე ო (log n). ნახეთ, თქვენი დახარისხებული მასივი შეიძლება განიხილებოდეს, როგორც სიღრმისეული პირველი ძებნა დაბალანსებული BST-ის რიგითი სერიალიზაცია. ანუ, რეკურსიულად ვაკეთებთ შემდეგს (ძირით დაწყებული):

ასევე იცით, რა არის ორობითი ძიების 7 ნაბიჯი?

ორობითი ძებნის ალგორითმი

  • ნაბიჯი 1 - წაიკითხეთ საძიებო ელემენტი მომხმარებლისგან.
  • ნაბიჯი 2 - იპოვეთ შუა ელემენტი დახარისხებულ სიაში.
  • ნაბიჯი 3 - შეადარეთ საძიებო ელემენტი შუა ელემენტთან დახარისხებულ სიაში.
  • ნაბიჯი 4 - თუ ორივე შეესაბამება, მაშინ აჩვენეთ "მოცემული ელემენტი ნაპოვნია!!!" და შეწყვიტოს ფუნქცია.

როგორ მუშაობს ორობითი ძებნა?

ორობითი ძებნა არის ეფექტური ალგორითმი ნივთების დახარისხებული სიიდან ნივთის მოსაძებნად. ის მუშაობს სიის ნაწილის არაერთხელ გაყოფით რომ შეეძლო შეიცავდეს ელემენტს, სანამ არ შეამცირებთ შესაძლო მდებარეობებს მხოლოდ ერთზე.

გირჩევთ: