Hjem Personlig finansiering Binære høje og binære søgetræer bruges i algoritmer - dummier

Binære høje og binære søgetræer bruges i algoritmer - dummier

Video: Week 5, continued 2025

Video: Week 5, continued 2025
Anonim

En særlig slags træstruktur er den binære bunke, som placerer hver af knudeelementerne i en særlig rækkefølge. Søg træ giver dig mulighed for hurtigt at søge efter data. At hente dataposter, placere dem i rækkefølge i et træ, og derefter søge det pågældende træ er en af ​​de hurtigere måder at finde information på.

I en binær bunke indeholder rodknuden altid den mindste værdi. Når du ser grene, ser du, at grene på øverste plan altid er en mindre værdi end grene og blade på lavere plan. Effekten er at holde træet afbalanceret og i en forudsigelig rækkefølge, så søgning bliver ekstremt effektiv. Omkostningerne er ved at holde træet afbalanceret.

Af alle de opgaver, applikationer gør, er søgning, jo mere tidskrævende og også den mest krævede. Selvom tilføjelse af data (og sortering det senere) kræver lidt tid, vil fordelene ved at oprette og vedligeholde et datasæt komme fra at bruge det til at udføre nyttigt arbejde, hvilket betyder at søge det efter vigtige oplysninger. Derfor kan du nogle gange komme med mindre effektiv CRUD-funktionalitet og endda en mindre end optimal sorteringsrutine, men søgninger skal fortsætte så effektivt som muligt. Det eneste problem er, at ingen søgning udfører hver eneste opgave med absolut effektivitet, så du skal veje dine muligheder ud fra det, du forventer at gøre som led i søgerutinerne.

To af de mere effektive søgemetoder involverer brugen af ​​binært søgetræ (BST) og binær bunke. Begge søgeteknikker er afhængige af en trælignende struktur for at holde nøglerne brugt til adgang til dataelementer. Imidlertid er arrangementet af de to metoder forskelligt, hvorfor man har fordele i forhold til den anden, når de udfører visse opgaver. Denne figur viser arrangementet for en BST.

Arrangementet af nøgler, når du bruger en BST.

Bemærk, hvordan nøglerne følger en ordre, hvor færre tal vises til venstre, og større tal vises til højre. Rotenoden indeholder en værdi, der ligger midt i rækken af ​​nøgler, hvilket giver BST en let forståelig afbalanceret tilgang til lagring af nøglerne. Kontrast dette arrangement til den binære bunke, der vises her.

Arrangementet af nøgler, når du bruger en binær bunke.

Hvert niveau indeholder værdier, som er mindre end det foregående niveau, og roten indeholder den maksimale nøgleværdi for træet. Desuden vises de mindre værdier i dette særlige tilfælde til venstre og jo større til højre (selv om denne ordre ikke er strengt håndhævet). Figuren viser faktisk en binær maxhøjde. Du kan også oprette en binær minhøje, hvor roten indeholder den laveste nøgleværdi, og hvert niveau bygger op til højere værdier, hvor de højeste værdier vises som en del af bladene.

Som tidligere nævnt har BST nogle fordele i forhold til binær bunke, når den bruges til at udføre en søgning. Følgende liste indeholder nogle af højdepunkterne af disse fordele:

  • Søger et element kræver O (log n) tid, i modsætning til O (n) tid for en binær bunke.
  • Udskrivning af elementerne i rækkefølge kræver kun O (log n) tid, i modsætning til O (n log n) tid for en binær bunke.
  • At finde gulv og loft kræver O (log n) tid.
  • Find Kth mindste / største element kræver O (log n) tid, når træet er korrekt konfigureret.

Om disse tider er vigtige afhænger af din ansøgning. BST har tendens til at fungere bedst i situationer, hvor du bruger mere tid på at søge og mindre tid at bygge træet. En binær bunke har tendens til at fungere bedst i dynamiske situationer, hvor nøglerne ændres regelmæssigt. Den binære bunke giver også fordele som beskrevet i følgende liste:

  • Oprettelse af de krævede strukturer kræver færre ressourcer, fordi binære dynger er afhængige af arrayer, hvilket gør dem også cache venligere.
  • At bygge en binær bunke kræver O (n) tid, i modsætning til BST, hvilket kræver O (n log n) tid.
  • Brug af peger til at implementere træet er ikke nødvendigt.
  • Baseret på binære bunkevariationer (for eksempel Fibonacci Heap) tilbyder fordele som forøgelse og nedsættelse af nøgletider for O (1) tid.
Binære høje og binære søgetræer bruges i algoritmer - dummier

Valg af editor

Hofte strækninger, der forbereder dig til at sidde meditation - dummies

Hofte strækninger, der forbereder dig til at sidde meditation - dummies

Nogle mennesker har svært ved at sidde og meditere til 10 eller 15 minutter ad gangen, så hvis du ikke er en af ​​disse mennesker, har du heldige! For dem, der har problemer med tilbageproblemer eller ubehag, mens de mediterer, kan du prøve disse yoga udgør at hjælpe dig med at forberede dig. Disse strækninger vil åbne dine hofter og gøre dem ...

Hvorledes Mindfulness kan hjælpe med smerte - dummier

Hvorledes Mindfulness kan hjælpe med smerte - dummier

Smerte kan bringe dit liv i stå. En af de anbefalede teknikker til smertebehandling er tankegangstilstanden, herunder mindfulness. Du kan ikke gøre de aktiviteter, du plejede at tage for givet, og må muligvis ophøre med at lave langsigtede planer. Din smerte kan blive dit hovedfokus ud over andre overvejelser. Den ...

Hvordan Mindfulness hjælper relationer - dummies

Hvordan Mindfulness hjælper relationer - dummies

Mindfulness hjælper med at forbedre kvaliteten (og måske mængden!) Af dine relationer på tre forskellige måder . Dr Marsha Lucas, forfatteren af ​​Rewire Your Brain for Love (Hay House) forklarer følgende måder, hvorpå mindfulness forbedrer relationer: Mindfulness reducerer stress. Hvis du og din partner føler sig stresset, er du mere tilbøjelige til at være reaktive ...

Valg af editor

Ydeevne og Big Data - dummies

Ydeevne og Big Data - dummies

Bare at have en hurtigere computer er ikke nok til at sikre det rigtige niveau af ydeevne at håndtere store data. Du skal kunne distribuere komponenter i din store datatjeneste på tværs af en række noder. I distribueret computing er en knude et element indeholdt i en klynge af systemer eller i et rack. A ...

Overvinde de store data færdigheder manglende dummier

Overvinde de store data færdigheder manglende dummier

Store data færdigheder er mangelfulde. Da mængden af ​​digital information genereret af virksomheder er vokset eksponentielt, er der opstået en udfordring (nogle mennesker kalder det en krise): Der er bare ikke nok mennesker med de nødvendige færdigheder til at analysere og fortolke alle disse store data. I en nylig undersøgelse er mere end halvdelen af ​​...

Fase 5 i CRISP-DM-procesmodellen: Evaluering - dummier

Fase 5 i CRISP-DM-procesmodellen: Evaluering - dummier

I de første fire faser af procesmodellen Cross Process Industry Standard Process for Data Mining (CRISP-DM), har du udforsket data, og du har fundet mønstre, og nu skal du spørge: Er resultaterne noget gode? Du vil ikke blot evaluere de modeller, du opretter, men også den proces, du plejede at oprette dem, og deres potentiale.

Valg af editor

Sådan tilføjes en kommentar i et Word 2007-dokument - dummies

Sådan tilføjes en kommentar i et Word 2007-dokument - dummies

Som en måde for forfattere og redaktører til at kommunikere bag kulisserne, kan Word 2007 du indsætte skjulte kommentarer i et dokument. Brug kommentarfunktionen til at "integrere" indlejringer, forslag, ideer eller rådgivning i et dokument uden at ændre teksten. Kommentarer er mærket med dine initialer og et sekventielt nummer, der begynder med 1 ...

Sådan tilføjes en kant til en side i Word 2016 - dummies

Sådan tilføjes en kant til en side i Word 2016 - dummies

Word 2016 tilbyder en midler til at dekorere titelsider, certifikater, menuer og lignende dokumenter med en sidegrænse. Udover linjer kan du dekorere siderne på en side med stjerner, kager og andre kunstværker. Hvis du vil placere en ramme omkring en side midt i et dokument, skal du oprette ...

Sådan tilføjes en forsidesside til et Word 2010-dokument - dummier

Sådan tilføjes en forsidesside til et Word 2010-dokument - dummier

Ord 2010 tilbyder en Cover Page-menuen, så du kan oprette en forsiden til dit Word-dokument uden at skulle lade være med at fjerne overskrifter og footers fra den ene side: