Huis Persoonlijke financiën Binaire heaps en binaire zoekbomen gebruikt in algoritmen - dummies

Binaire heaps en binaire zoekbomen gebruikt in algoritmen - dummies

Video: Week 8 2024

Video: Week 8 2024
Anonim

Een speciaal soort boomstructuur is de binary heap, die elk van de knooppuntelementen in een speciale volgorde plaatst. Door zoekbomen kunt u snel naar gegevens zoeken. Het verkrijgen van gegevensitems, ze in een gesorteerde volgorde in een boom plaatsen en vervolgens in die boom zoeken, is een van de snellere manieren om informatie te vinden.

In een binaire heap bevat het basisknooppunt altijd de kleinste waarde. Als je de takken bekijkt, zie je dat takken op het hoogste niveau altijd een kleinere waarde hebben dan takken en bladeren op een lager niveau. Het effect is om de boom in evenwicht te houden en in een voorspelbare volgorde, zodat het zoeken uiterst efficiënt wordt. De kosten zijn om de boom in balans te houden.

Van alle taken die applicaties uitvoeren, is zoeken meer tijdrovend en ook veeleisender. Hoewel het toevoegen van gegevens (en het later sorteren) enige tijd in beslag neemt, is het voordeel van het maken en onderhouden van een gegevensset dat deze wordt gebruikt om nuttig werk uit te voeren, wat betekent dat er naar belangrijke informatie wordt gezocht. Daarom kunt u soms langskomen met minder efficiënte CRUD-functionaliteit en zelfs een niet-optimale sorteerroutine, maar zoekopdrachten moeten zo efficiënt mogelijk verlopen. Het enige probleem is dat niemand elke taak met absolute efficiëntie uitvoert, dus u moet uw opties wegen op basis van wat u verwacht te doen als onderdeel van de zoekroutines.

Twee van de efficiëntere zoekmethoden zijn het gebruik van de binaire zoekboom (BST) en binaire heap. Beide zoektechnieken berusten op een boomachtige structuur om de sleutels te bevatten die worden gebruikt voor toegang tot gegevenselementen. De indeling van de twee methoden is echter anders, wat de reden is dat de ene voordelen heeft ten opzichte van de andere bij het uitvoeren van bepaalde taken. Deze figuur toont de rangschikking voor een BST.

De rangschikking van toetsen bij gebruik van een BST.

Merk op hoe de toetsen een volgorde volgen waarin kleinere getallen aan de linkerkant verschijnen en grotere getallen aan de rechterkant. Het wortelknooppunt bevat een waarde die zich in het midden van het bereik van toetsen bevindt, waardoor de BST een gemakkelijk te begrijpen gebalanceerde benadering krijgt voor het opslaan van de toetsen. Vergelijk deze opstelling met de binaire heap die hier wordt getoond.

De rangschikking van sleutels bij gebruik van een binaire heap.

Elk niveau bevat waarden die kleiner zijn dan het vorige niveau en de hoofdmap bevat de maximale sleutelwaarde voor de structuur. Bovendien verschijnen in dit geval de mindere waarden aan de linkerkant en de grotere aan de rechterkant (hoewel deze volgorde niet strikt wordt gehandhaafd). De figuur geeft eigenlijk een binaire maximumheap weer. U kunt ook een binaire min-heap maken waarin de hoofdmap de laagste sleutelwaarde bevat en elk niveau wordt gemaakt naar hogere waarden, waarbij de hoogste waarden worden weergegeven als onderdeel van de bladeren.

Zoals eerder opgemerkt heeft BST enkele voordelen ten opzichte van binaire heap wanneer deze wordt gebruikt om een ​​zoekopdracht uit te voeren. De volgende lijst bevat enkele van de hoogtepunten van deze voordelen:

  • Zoeken naar een element vereist O (log n) tijd, in tegenstelling tot O (n) tijd voor een binaire heap.
  • Het in volgorde afdrukken van de elementen vereist alleen O (log n) tijd, in tegenstelling tot O (n log n) tijd voor een binaire heap.
  • Het vinden van de vloer en het plafond vereist O (log n) tijd.
  • Lokaliseren van Kde kleinste / grootste element vereist O (log n) tijd wanneer de boom correct is geconfigureerd.

Of deze tijden belangrijk zijn, hangt af van uw toepassing. BST werkt het beste in situaties waarin u meer tijd besteedt aan zoeken en minder tijd aan het bouwen van de boom. Een binaire heap heeft de neiging het beste te werken in dynamische situaties waarin toetsen regelmatig veranderen. De binaire heap biedt ook voordelen, zoals beschreven in de volgende lijst:

  • Het maken van de vereiste structuren vereist minder resources, omdat binary hopen afhankelijk zijn van arrays, waardoor ze ook cache vriendelijker worden.
  • Het bouwen van een binaire heap vereist O (n) tijd, in tegenstelling tot BST, waarvoor O (n log n) tijd vereist is.
  • Pointers gebruiken om de boom te implementeren is niet nodig.
  • Vertrouwen op binaire heapvariaties (bijvoorbeeld de Fibonacci Heap) biedt voordelen zoals het verhogen en verlagen van kerntijden van O (1) tijd.
Binaire heaps en binaire zoekbomen gebruikt in algoritmen - dummies

Bewerkers keuze

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Wanneer het komt om het voordeel dat u van LinkedIn krijgt te maximaliseren, bent u uw grootste pleitbezorger. Hoewel je netwerk van connecties je helpt te groeien, gebeurt veel van je marketing zonder dat je erbij betrokken bent. Nadat je je profiel hebt aangemaakt, worden die en andere LinkedIn-activiteit van je gelezen en beoordeeld door de ...

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Deze dagen, wanneer u naar een nieuwe stad moet verhuizen, kunt u er veel plannen voor maken op LinkedIn en op internet. Je kunt de buurten onderzoeken, de schoolsystemen bekijken en online naar huizen gaan. Je kunt een stap verder gaan als je van plan bent om naar een andere ...

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

U zeker wilt dat u de juiste instellingen selecteert contactinstellingen voor uw LinkedIn-profiel. Als u bijvoorbeeld op zoek bent naar een nieuwe baan, wilt u er zeker van zijn dat de optie voor Carrièremogelijkheden is gecontroleerd. Wanneer u klaar bent om uw contactinstellingen te controleren, volgt u deze stappen: Ga naar ...

Bewerkers keuze

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Uw Canon EOS Rebel XS / 1000D heeft alle functies die u kunt gebruiken om fantastische foto's te maken. Je moet de beeldmodus instellen op het onderwerp van je foto en de Canon EOS Rebel XS / 1000D laat je volledig of gedeeltelijk automatisch gaan met de belichtingsinstellingen.

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Live-modus Met autofocus kunt u de focus instellen op uw Canon EOS Rebel T3 of T3i zonder tijdelijk het voorbeeld van de monitor te verliezen. Bovendien, in plaats van het selecteren van negen autofocuspunten, verplaatst u eenvoudig een enkel scherpstelpunt over uw onderwerp. Aan de andere kant is de autofocus van de Live-modus merkbaar langzamer dan in de Quick-modus, en ...

Bewerkers keuze

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Tekstgrootte wordt ingesteld in uw Word 2016 document gebaseerd over de meting van de oude letterzetter, ook wel punten genoemd. Hier zijn enkele aandachtspunten waarmee u rekening moet houden bij het opmaken van tekst in Word: hoe groter de puntgrootte, hoe groter de tekst. De meeste gedrukte tekst is 10 of 12 punten lang. Koppen zijn meestal 14 ...

Grammatica controleren in Word 2007 - dummies

Grammatica controleren in Word 2007 - dummies

Naast het controleren op correcte spelling, kunt u met Word 2007 ook om uw documenten te bewijzen om grammaticale fouten te voorkomen. U kunt de grammaticasuggesties van Word bekijken terwijl u door het document bladert, of u kunt een traditionele spellingcontrole uitvoeren. Word biedt u zelfs de kans om de gemarkeerde fout te onderzoeken en meer te leren van ...

Spelling controleren terwijl u typt in Word 2013 - dummies

Spelling controleren terwijl u typt in Word 2013 - dummies

Woord 2013 heeft een interne bibliotheek vol met ontelbare woorden, allemaal correct gespeld. Telkens wanneer u een woord typt, wordt het vergeleken met dat woordenboek. Wanneer het woord niet wordt gevonden, wordt dit als verdacht gemarkeerd in uw document. Het merk is een rode zigzaglijn. Mijn advies: blijf typen. Laat de "rode zigzag van een ...