Spisu treści:
Wideo: Jak zaimplementować drzewo wyszukiwania binarnego w Javie?
2024 Autor: Lynn Donovan | [email protected]. Ostatnio zmodyfikowany: 2023-12-15 23:51
Implementacja drzewa wyszukiwania binarnego (BST) w Javie
- Lewe poddrzewo węzła zawiera tylko węzły z kluczami mniejszymi niż klucz węzła.
- Prawe poddrzewo węzła zawiera tylko węzły z kluczami większymi niż klucz węzła.
- Każde z lewego i prawego poddrzewa musi mieć również a drzewo wyszukiwania binarnego .
- Nie może być zduplikowanych węzłów.
Pojawia się również pytanie, w jaki sposób zaimplementowane jest wyszukiwanie binarne w Javie?
Zobaczmy przykład wyszukiwania binarnego w javie, w którym będziemy przeszukiwać element z tablicy za pomocą rekurencji
- class Przykład wyszukiwania binarnego1{
- public static int binarySearch(int arr, int pierwszy, int ostatni, klucz int){
- jeśli (ostatni>=pierwszy){
- int mid = pierwszy + (ostatni - pierwszy)/2;
- if (arr[środek] == klucz){
- powrót w połowie;
- }
Po drugie, gdzie używamy drzewa wyszukiwania binarnego? Drzewo wyszukiwania binarnego - Używany w wielu Szukaj aplikacje, w których dane stale wchodzą/wychodzą, takie jak mapa i obiekty zbioru w bibliotekach wielu języków. Dwójkowy Przegroda kosmiczna - Używany w prawie każdej grze wideo 3D, aby określić, jakie obiekty należy renderować.
A zatem, jak powstają drzewa binarne?
Tworzenie drzewa binarnego za pomocą rekurencji
- Przeczytaj dane w x.
- Przydziel pamięć dla nowego węzła i zapisz adres we wskaźniku p.
- Przechowuj dane x w węźle p.
- Rekurencyjnie utwórz lewe poddrzewo p i uczyń je lewym dzieckiem p.
- Rekurencyjnie utwórz właściwe poddrzewo p i uczyń je właściwym dzieckiem p.
Jaka jest złożoność wyszukiwania binarnego?
Wyszukiwanie binarne działa w najgorszym czasie logarytmicznym, wykonując porównania O(log n), gdzie n to liczba elementów w tablicy, O to notacja Big O, a log to logarytm. Wyszukiwanie binarne przyjmuje stałą (O(1)) przestrzeń, co oznacza, że przestrzeń zajmowana przez algorytm jest taka sama dla dowolnej liczby elementów w tablicy.
Zalecana:
Jak znaleźć środek wyszukiwania binarnego?
Mając posortowaną tablicę, znajdujemy najbardziej środkowy element i sprawdzamy go za pomocą klucza. Jeśli środkowy element jest równy kluczowi, znaleźliśmy klucz. Jeśli środkowy element jest większy niż klucz, przeszukujemy lewą połowę środkowego elementu, w przeciwnym razie przeszukujemy prawą połowę
Czy rekurencja wyszukiwania binarnego?
Wyszukiwanie binarne to algorytm dziel i zwyciężaj. Podobnie jak wszystkie algorytmy dziel i zwyciężaj, wyszukiwanie binarne najpierw dzieli dużą tablicę na dwie mniejsze podtablice, a następnie rekurencyjnie (lub iteracyjnie) obsługuje podtablice. Tak więc wyszukiwanie binarne zasadniczo zmniejsza przestrzeń wyszukiwania do połowy na każdym kroku
Jak zaimplementować drzewo decyzyjne w Pythonie?
Wdrażając drzewo decyzyjne przejdziemy przez następujące dwie fazy: Faza budowy. Wstępnie przetwórz zbiór danych. Podziel zbiór danych z trenowania i testuj za pomocą pakietu Python sklearn. Wytrenuj klasyfikatora. Faza operacyjna. Prognozować. Oblicz dokładność
Jaki jest najgorszy przypadek i średnia złożoność przypadku drzewa wyszukiwania binarnego?
Binarne drzewo poszukiwań Algorytm Średnia Najgorszy przypadek Spacja O(n) O(n) Wyszukaj O(log n) O(n) Wstaw O(log n) O(n) Usuń O(log n) O(n)
Jakie jest duże O wyszukiwania binarnego?
Wyszukiwanie binarne jest szybsze niż wyszukiwanie liniowe, z wyjątkiem małych tablic. Algorytm wyszukiwania binarnego. Wizualizacja algorytmu wyszukiwania binarnego, gdzie 7 jest wartością docelową Klasa Algorytm wyszukiwania Wydajność w najlepszym przypadku O(1) Średnia wydajność O(log n) Złożoność przestrzeni w najgorszym przypadku O(1)