Съдържание:

Как внедрявате двоично дърво за търсене в Java?
Как внедрявате двоично дърво за търсене в Java?

Видео: Как внедрявате двоично дърво за търсене в Java?

Видео: Как внедрявате двоично дърво за търсене в Java?
Видео: Java program to construct a Binary Search Tree and perform insert and In-order traversal 2024, Декември
Anonim

Внедряване на дърво за двоично търсене (BST) в Java

  1. Лявото поддърво на възела съдържа само възли с ключове по-малко от ключа на възела.
  2. Дясното поддърво на възела съдържа само възли с ключове, по-големи от ключа на възела.
  3. Лявото и дясното поддърво също трябва да бъде a дърво за двоично търсене .
  4. Не трябва да има дублиращи се възли.

Също така въпросът е как се изпълнява двоичното търсене в Java?

Нека видим пример за двоично търсене в java, където ще търсим елемент от масив с помощта на рекурсия

  1. клас BinarySearchExample1{
  2. публичен статичен int binarySearch(int arr, int първи, int последен, int ключ){
  3. ако (последно>=първо){
  4. int mid = първи + (последен - първи)/2;
  5. if (arr[mid] == ключ){
  6. връщане в средата;
  7. }

Второ, къде използваме двоично дърво за търсене? Двоично дърво за търсене - Използван в много Търсене приложения, в които данните постоянно влизат/излизат, като например карти и зададени обекти в библиотеки на много езици. Двоичен Пространствен дял - Използван в почти всяка 3D видео игра, за да определите какви обекти трябва да бъдат изобразени.

Точно така, как се формират двоичните дървета?

Създаване на двоично дърво с помощта на рекурсия

  1. Прочетете данни в x.
  2. Разпределете памет за нов възел и запишете адреса в показалец p.
  3. Съхранявайте данните x в възела p.
  4. Създайте рекурсивно лявото поддърво на p и го направете ляво дъщерно на p.
  5. Създайте рекурсивно дясното поддърво на p и го направете дясното дъще на p.

Каква е сложността на двоичното търсене?

Двоично търсене работи в най-лошото логаритмично време, правейки O(log n) сравнения, където n е броят на елементите в масива, O е нотация с голямо O, а log е логаритъмът. Двоично търсене заема постоянно (O(1)) пространство, което означава, че пространството, заето от алгоритъма, е същото за произволен брой елементи в масива.

Препоръчано: