Inhoudsopgave:
Video: Hoe implementeer je een binaire zoekboom in Java?
2024 Auteur: Lynn Donovan | [email protected]. Laatst gewijzigd: 2023-12-15 23:51
Een binaire zoekboom (BST) in Java implementeren
- De linker substructuur van een knooppunt bevat alleen knooppunten met sleutels die kleiner zijn dan de sleutel van het knooppunt.
- De rechter substructuur van een knooppunt bevat alleen knooppunten met sleutels die groter zijn dan de sleutel van het knooppunt.
- De linker en rechter subboom moeten elk ook a. zijn binaire zoekboom .
- Er mogen geen dubbele knooppunten zijn.
De vraag is ook, hoe wordt binair zoeken geïmplementeerd in Java?
Laten we een voorbeeld bekijken van binair zoeken in Java, waarbij we een element uit een array gaan zoeken met behulp van recursie
- class BinarySearchExample1{
- public static int binarySearch(int arr, int first, int last, int key){
- if (laatste>=eerste){
- int mid = eerste + (laatste - eerst)/2;
- if (arr[mid] == sleutel){
- terugkeer midden;
- }
Ten tweede, waar gebruiken we de binaire zoekboom? Binaire zoekboom - Gebruikt in veel zoeken toepassingen waar gegevens constant binnenkomen/verlaten, zoals de kaart en setobjecten in bibliotheken van vele talen. binair Ruimte partitie - Gebruikt in bijna elke 3D-videogame om te bepalen welke objecten moeten worden weergegeven.
Zo, hoe worden binaire bomen gevormd?
Creëren van binaire boom met behulp van recursie
- Lees een gegevens in x.
- Wijs geheugen toe aan een nieuwe node en sla het adres op in pointer p.
- Sla de gegevens x op in het knooppunt p.
- Maak recursief de linker subboom van p en maak deze het linker kind van p.
- Creëer recursief de juiste subboom van p en maak deze het juiste kind van p.
Wat is de complexiteit van binair zoeken?
Binaire zoekopdracht loopt in de slechtste logaritmische tijd, waardoor O (log n) vergelijkingen worden gemaakt, waarbij n het aantal elementen in de array is, de O de Big O-notatie is en log de logaritme is. Binaire zoekopdracht neemt constante (O(1)) ruimte in, wat betekent dat de ruimte die het algoritme inneemt hetzelfde is voor een willekeurig aantal elementen in de array.
Aanbevolen:
Hoe vind je het midden van een binaire zoekopdracht?
Gegeven een gesorteerde array, vinden we het middelste element en controleren het element met de sleutel. Als het middelste element gelijk is aan sleutel, hebben we de sleutel gevonden. Als het middelste element groter is dan de sleutel, zoeken we op de linkerhelft van het middelste element, anders zoeken we op de rechterhelft
Hoe implementeer je een set-interface in Java?
Set in Java Set is een interface die Collection uitbreidt. Het is een ongeordende verzameling objecten waarin dubbele waarden niet kunnen worden opgeslagen. In principe wordt Set geïmplementeerd door HashSet, LinkedHashSet of TreeSet (gesorteerde weergave). Set heeft verschillende methoden om clear, grootte, enz. toe te voegen, te verwijderen om het gebruik van deze interface te verbeteren
Wat zijn de worst case en de gemiddelde complexiteit van de binaire zoekboom?
Binaire zoekboom Algoritme Gemiddelde Slechtste geval Spatie O(n) O(n) Zoeken O(log n) O(n) Voeg O(log n) O(n) Verwijder O(log n) O(n)
Wat is het verschil tussen een unaire relatie, een binaire relatie en een ternaire relatie?
Een unaire relatie is wanneer beide deelnemers aan de relatie dezelfde entiteit zijn. Bijvoorbeeld: vakken kunnen een vereiste zijn voor andere vakken. Een ternaire relatie is wanneer drie entiteiten deelnemen aan de relatie
Hoe implementeer je een abstracte klasse in Java?
Als een klasse abstract wordt verklaard, kan deze niet worden geïnstantieerd. Om een abstracte klasse te gebruiken, moet je deze erven van een andere klasse, implementaties geven aan de abstracte methoden erin. Als je een abstracte klasse erft, moet je implementaties bieden voor alle abstracte methoden erin