Სარჩევი:

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

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

ვიდეო: როგორ განვახორციელოთ ორობითი საძიებო ხე ჯავაში?
ვიდეო: Binary Search Tree in Java - 1 : Create Binary Search Tree 2024, აპრილი
Anonim

ორობითი საძიებო ხის (BST) დანერგვა ჯავაში

  1. კვანძის მარცხენა ქვეხე შეიცავს მხოლოდ კვანძებს, რომელთა კლავიშები ნაკლებია კვანძის გასაღებზე.
  2. კვანძის მარჯვენა ქვეხე შეიცავს მხოლოდ კვანძებს, რომელთა კლავიშები აღემატება კვანძის კლავიშს.
  3. მარცხენა და მარჯვენა ქვეხე ასევე უნდა იყოს a ორობითი საძიებო ხე .
  4. არ უნდა იყოს დუბლიკატი კვანძები.

ასევე კითხვაა, როგორ ხდება ორობითი ძებნა ჯავაში?

ვნახოთ ორობითი ძიების მაგალითი 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. შეინახეთ მონაცემები x კვანძში p.
  4. რეკურსიულად შექმენით p-ის მარცხენა ქვეხე და გახადეთ იგი p-ის მარცხენა შვილად.
  5. რეკურსიულად შექმენით p-ის მარჯვენა ქვეხე და გახადეთ იგი p-ის სწორ შვილად.

რა არის ორობითი ძიების სირთულე?

ორობითი ძებნა გადის ყველაზე ცუდ ლოგარითმულ დროს, აკეთებს O(log n) შედარებებს, სადაც n არის მასივის ელემენტების რაოდენობა, O არის Big O აღნიშვნა და log არის ლოგარითმი. ორობითი ძებნა იღებს მუდმივ (O(1)) სივრცეს, რაც იმას ნიშნავს, რომ ალგორითმის მიერ აღებული სივრცე იგივეა მასივის ნებისმიერი რაოდენობის ელემენტისთვის.

გირჩევთ: