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

Bygg dit eget sociale fællesskab for handel - dummies

Bygg dit eget sociale fællesskab for handel - dummies

På et velproduceret forretningswebsted, du Se ofte et link til et socialt samfundsområde, hvilket også kan føre offsite til sociale medier. Dette område er hvor kundeservice og FAQs sider lever. Du kan også finde et kunde-til-kunde-fællesskab, der tilskynder deltagelse fra dem, der besøger forretningssiden. Uanset om du vælger ...

Bedste praksis til e-mailmarkedsføring - dummies

Bedste praksis til e-mailmarkedsføring - dummies

Emnet for din sociale medievirksomhed e -mails skal være om at opfylde dine kunders interesser. Du kender dine kunder bedre end nogen. Hvis de vil have opskrifter, skal du f.eks. Have en opskrift i din e-mail. Har indhold, der vedrører din virksomhed og kundens behov. Bygg på loyalitetsforslaget og lav ...

Bygg online indtjening gennem links på Amazon og Social Media - dummies

Bygg online indtjening gennem links på Amazon og Social Media - dummies

Sælger gennem billeder og indhold, du deler på populære sociale medier, er en fantastisk måde at nå ud til kunderne. Du kan gøre mere end blot at linke til produkter - find ud af hvordan du kan tjene penge på dit oprindelige indhold, du udgiver. Du genererer indtægter på din hjemmeside og sociale medier via annoncer og links. Hvis du producerer ...

Valg af editor

Hvordan man bruger f-distributioner i Excel - dummies

Hvordan man bruger f-distributioner i Excel - dummies

F-distributioner er sandsynlighedsfordelinger i Excel, der sammenligner forholdet i variationer af prøver trukket fra forskellige populationer. Denne sammenligning giver en konklusion om, hvorvidt afvigelserne i de underliggende populationer ligner hinanden. F. DIST: Left-tailed f-distribution sandsynlighed F. DIST-funktionen returnerer den venstre-tailed sandsynlighed for at observere et forhold på to samples 'variationer så store ...

Sådan bruges logaritmisk skalering til Excel-dataanalyse - dummier

Sådan bruges logaritmisk skalering til Excel-dataanalyse - dummier

Logaritmer og logaritmisk skalering er værktøjer, som du vil bruge i dine Excel-diagrammer, fordi de gør det muligt for dig at gøre noget meget kraftfuldt. Ved logaritmisk skalering af din værdi-akse kan du sammenligne den relative ændring (ikke den absolutte ændring) i datareserværdier. For eksempel, sig at du vil sammenligne salget ...

Sådan bruges Flash Fill in Excel 2016 - dummies

Sådan bruges Flash Fill in Excel 2016 - dummies

Excel 2016s handy Flash Fill-funktion giver dig evnen at tage en del af de data, der er indtastet i en kolonne i et regnearktabell, og indtast bare disse data i en ny tabelkolonne ved kun at bruge et par tastetryk. Serien af ​​indgange vises i den nye kolonne, bogstaveligt talt i en flash (således ...

Valg af editor

ØGe din blog med bedre indhold - dummier

ØGe din blog med bedre indhold - dummier

Som du tænker på måder at generere buzz på din blog, du kan også forbedre kvaliteten af ​​din blog ved at fokusere på dine bogføringsteknikker. Disse tip kan give dig nogle gode promoveringsideer: Skriv om aktuelle eller kontroversielle problemer. Denne ide virker som en no-brainer, men det er nemt at glemme. Betal ...

Opbygge et XML-sitemap og forbedre din blogs SEO-design - dummies

Opbygge et XML-sitemap og forbedre din blogs SEO-design - dummies

Søgemaskineoptimering ) handler om at øge din blogs synlighed i søgemaskiner som Google. Forbedre din WordPress blogs SEO gennem smarte design valg. Antag for eksempel at du skriver et indlæg om planlægning af en superhelt fødselsdagsfest. Du vil gerne have, at posten vises i søgeresultater, når nogen skriver "superheltefødselsdagsfest" i ...

Mærke dit WordPress-mobilwebsted med gratis blogdesign - dummies

Mærke dit WordPress-mobilwebsted med gratis blogdesign - dummies

Mest WordPress mobile plug- ins for din blogs design kan tilpasses. Du tilpasser en mobil plugin til din blog ved at ændre farver og temaer, tilføje et brugerdefineret logoikon og indstille en brugerdefineret hjemmeside. Med WPtouch mobile plug-in kan du tilføje branding som supplerer din blogs design og gør det nemmere at navigere. Før du ...