Hjem Personlig finansiering Binærhøner og binær søketrær brukt i algoritmer - dummies

Binærhøner og binær søketrær brukt i algoritmer - dummies

Video: 15 Cool Amphibious Vehicles and Multi-Purpose Vehicles 2025

Video: 15 Cool Amphibious Vehicles and Multi-Purpose Vehicles 2025
Anonim

En spesiell type trestruktur er binærhunne, som plasserer hver av nodelementene i en spesiell rekkefølge. Søk trær lar deg lete etter data raskt. Å skaffe dataelementer, plassere dem i rekkefølge i et tre, og deretter søke det treet er en av de raskere måtene å finne informasjon.

I en binær haug inneholder rotnoden alltid den minste verdien. Når du ser på grener, ser du at øvre grener er alltid en mindre verdi enn grener og blader på lavere nivå. Effekten er å holde treet balansert og i en forutsigbar rekkefølge slik at søkingen blir ekstremt effektiv. Kostnaden er å holde treet balansert.

Av alle oppgavene som applikasjoner gjør, søker er jo mer tidkrevende og også den mest nødvendige. Selv om du legger til data (og sortering det senere) krever litt tid, vil fordelen ved å opprette og vedlikeholde datasett komme fra å bruke den til å utføre nyttig arbeid, noe som betyr at du søker etter viktig informasjon. Derfor kan du noen ganger komme forbi med mindre effektiv CRUD-funksjonalitet og til og med en mindre enn optimal sorteringsrutine, men søkene må fortsette så effektivt som mulig. Det eneste problemet er at ingen søk utfører hver oppgave med absolutt effektivitet, så du må veie alternativene dine basert på hva du forventer å gjøre som en del av søkerutene.

To av de mer effektive søkemåtene innebærer bruk av binær søketreet (BST) og binær bunke. Begge søketeknikker er avhengig av en trelignende struktur for å holde nøklene som brukes til å få tilgang til dataelementer. Imidlertid er arrangementet av de to metodene forskjellige, og derfor har man fordeler over det andre når man utfører visse oppgaver. Denne figuren viser arrangementet for en BST.

Arrangement av nøkler når du bruker en BST.

Legg merke til hvordan tastene følger en rekkefølge hvor færre tall vises til venstre, og større tall vises til høyre. Rotnoden inneholder en verdi som ligger midt i rekkevidden av nøkler, noe som gir BST en lett forståelig balansert tilnærming til lagring av nøklene. Kontrast dette arrangementet til den binære bunken som vises her.

Arrangement av nøkler når du bruker en binær bunke.

Hvert nivå inneholder verdier som er mindre enn forrige nivå, og roten inneholder den maksimale nøkkelverdien for treet. I tillegg, i dette tilfellet vises de mindre verdiene til venstre og jo større til høyre (selv om denne ordren ikke er strengt håndhevet). Figuren viser faktisk en binær maxhøyde. Du kan også opprette en binær minhunne der roten inneholder den laveste nøkkelverdien, og hvert nivå bygger til høyere verdier, med de høyeste verdiene som vises som en del av bladene.

Som tidligere nevnt, har BST noen fordeler over binær haug når den brukes til å utføre et søk. Følgende liste gir noen av høydepunktene av disse fordelene:

  • Søker etter et element krever O (log n) tid, i motsetning til O (n) tid for en binær haug.
  • Utskrift av elementene i rekkefølge krever kun O (log n) tid, i motsetning til O (n log n) tid for en binær haug.
  • Finne gulv og tak krever O (log n) tid.
  • Finne Kth minste / største elementet krever O (log n) tid når treet er riktig konfigurert.

Om disse tider er viktige, avhenger av søknaden din. BST har en tendens til å fungere best i situasjoner der du bruker mer tid på å søke og mindre tid å bygge treet. En binær haug har en tendens til å fungere best i dynamiske situasjoner der nøkler endres jevnlig. Den binære bunken gir også fordeler, som beskrevet i følgende liste:

  • Å lage de nødvendige strukturer krever færre ressurser fordi binære hauger stole på arrays, noe som gjør dem også cachevennerligere.
  • Å bygge en binær haug krever O (n) tid, i motsetning til BST, som krever O (n log n) tid.
  • Det er ikke nødvendig å bruke pekere for å implementere treet.
  • Basert på binære haugvariasjoner (for eksempel Fibonacci Heap), tilbyr du fordeler som økning og reduksjon av nøkkeltider for O (1) tid.
Binærhøner og binær søketrær brukt i algoritmer - dummies

Redaktørens valg

10 Tips for visuelt analysere og presentere data i Excel - dummies

10 Tips for visuelt analysere og presentere data i Excel - dummies

Her er noen konkrete forslag om hvordan du med hell kan bruke diagrammer som dataanalyseværktøy i Excel, og hvordan du kan bruke diagrammer for å mer effektivt kommunisere resultatene av dataanalysen du gjør. Bruk riktig diagramtype Hva mange mennesker ikke skjønner er at du bare kan lage fem ...

10 Måter å forbedre Power Pivot Performance - dummies

10 Måter å forbedre Power Pivot Performance - dummies

Når du publiserer Power Pivot-rapporter på nettet, har du tenkt for å gi publikum den beste opplevelsen som er mulig. En stor del av denne erfaringen er å sikre at ytelsen er god. Ordet ytelse (som det gjelder applikasjoner og rapportering) er vanligvis synonymt med hastighet - eller hvor raskt et program utfører bestemte handlinger ...

Legger ekstra analyselagre til Excel-diagrammer - dummies

Legger ekstra analyselagre til Excel-diagrammer - dummies

Det er ikke uvanlig å bli bedt om å legge til Ekstra analyse til din visualisering som vanligvis ikke er plottet på et Excel-diagram. For eksempel viser dette diagramet salg for hvert kvartal, men klienten vil kanskje også se prosentveksten i samme kvartal. De fleste Excel-analytikere oppfyller dette behovet med faktiske tekstbokser. ...

Redaktørens valg

Data Visualisering Storyboard: Dokumentasjon Key Performance Indicators (KPIs) - dummies

Data Visualisering Storyboard: Dokumentasjon Key Performance Indicators (KPIs) - dummies

Forstå nøkkelmålinger som publikum må vise, overvåke eller spore er det siste skrittet i utviklingen av historien din. Enkelt sagt er en nøkkelindikator (KPI) en kjerne-måling som knytter seg direkte til selskapets mål. Gjennomføre scoping-workshops Den beste måten å jobbe med publikum på for å dokumentere KPI-er er ...

Data Visualisering Storyboard: Dokumentasjonsmål - dummies

Data Visualisering Storyboard: Dokumentasjonsmål - dummies

Å Få en klar forståelse av målgruppens mål og eksisterende smertepunkter vil hjelpe du bestemmer hva du skal inkludere og - enda viktigere - hva som ikke skal inkluderes i storyboardet. Den enkleste måten å gjøre dette på, kan være å holde en liten planleggingsøkt som inkluderer executive sponsor (hvis det er en) og ...

Data Visualisering Storyboard: Identifisere målgruppen din - dummies

Data Visualisering Storyboard: Identifisere målgruppen din - dummies

Det første trinnet i å utvikle et klart storyboard for deg datavisualisering identifiserer publikum. Hvem du bygger data visualisering for å bestemme hvilken type storyboard du utvikler og hvilket nivå av data du viser. Den enkleste måten å klassifisere målgruppen din er å se på to enkle komponenter: forretningsområde ...

Redaktørens valg

ACT-strategi for å multiplisere en horisontal matrise med en vertikal matrise - dummies

ACT-strategi for å multiplisere en horisontal matrise med en vertikal matrise - dummies

På ACT Matematisk test, du må sannsynligvis multiplisere par matriser som har enten en rad eller en kolonne. En enkel måte å formere en horisontal matrise med en vertikal matris er å sette opp et lite rutenett. Denne metoden lar deg fylle ut tallene for å få det riktige svaret. Matrix ...

ACT-strategi for å løse en matrise ved hjelp av en determinant-dummies

ACT-strategi for å løse en matrise ved hjelp av en determinant-dummies

Er en determinant en vanlig operasjon utført på en firkantet matrise. På ACT Math-testen er den eneste determinantformelen du trenger å være kjent med, for en 2 x 2-matrise. Her er formelen for determinanten av Merk at determinanten av en matrise bare er et tall, ikke en matrise. Å ...

ACT Trick for Quadratics: Slik finner du raskt en Parabola-dummies retning

ACT Trick for Quadratics: Slik finner du raskt en Parabola-dummies retning

For å spare tid når du graver en kvadratisk funksjon på ACT Math-testen, kan du raskt bestemme retningen for parabolen ved hjelp av et enkelt triks basert på koeffisienten a. Dette trikset vedrører tegnet på variabelen a (i uttrykket ax2): Når a er positivt, er grafen konkav opp. I ...