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 2024

Video: Week 5, continued 2024
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

Test din kode med Dreamweavers webstedrapporteringsfunktioner - dummies

Test din kode med Dreamweavers webstedrapporteringsfunktioner - dummies

Hvis du har brugt Dreamweaver til bygg din mobilwebsite, du kan tjekke dit arbejde ved hjælp af Dreamweaver Site Reporting funktionerne. Det lader dig oprette en række rapporter og endda tilpasse dem til at identificere problemer med eksterne links, overflødige og tomme tags, untitled dokumenter og manglende alternativ tekst. Du kan nemt gå glip af problemer - især ...

Sådan bruger du dit eget domæne til dit Squarespace-websted - dummier

Sådan bruger du dit eget domæne til dit Squarespace-websted - dummier

Når du underskriver op for din Squarespace-konto, får du en unik Squarespace-URL, der ser sådan ud: http: // dit kontonavn. Squarespace. com. Hvis du vil have fuldstændig kontrol over branding af dit websted eller blot ønsker en unik webadresse, kan du kortlægge eller pege på et brugerdefineret domæne på din Squarespace-konto. Du har tre muligheder for indstilling ...

Fordelene ved at bruge Markdown på din Squarespace Website - dummies

Fordelene ved at bruge Markdown på din Squarespace Website - dummies

Markdown er en plain- tekst skriftformat, der gør det muligt hurtigt at anvende tekst styling baseret på hvordan du formaterer din Squarespace 6 websteds tekst. Markdown er en af ​​Du bruger to typer blokke, du kan bruge til at tilføje tekst. Du tilføjer indhold til dine Squarespace-sidesider ved at bruge indholdsblokke i Site Manager → Indhold ...

Valg af editor

Wicca og Witchcraft For Dummies Cheat Sheet - dummies

Wicca og Witchcraft For Dummies Cheat Sheet - dummies

Wicca, en heksekunst, er centreret i rituelle Wiccans udfører til specifikke formål, såsom at kommunikere med eller ære guddom. Sabbats er wiccan sol helligdage fokuseret på jordens sti omkring solen, nogle gange omtalt som Årets hjul. Esbats er wiccan månens ferie, der fokuserer på månens cyklus. ...

Sammenhængende trosretninger: almindelige erfaringer i skrifterne - dummies

Sammenhængende trosretninger: almindelige erfaringer i skrifterne - dummies

Interessant de tre Abrahams trosretninger - jødedom, kristendom , og islam - deler meget til fælles, herunder en række af ædle profeter sendt af Gud. På grund af commonality ligger en dyb forbindelse til arv fra profeten Abraham og en tro på en Gud. Koranen finder fælles sted med kristne og jøder (kendt ...

Charmerende din vej til effektiv magi - dummies

Charmerende din vej til effektiv magi - dummies

En firkløver for held. Den jakkesæt, som du altid bærer til jobsamtaler for succes. Ringen du tager aldrig af, fordi den repræsenterer din kærlighed til en anden person. Den hængende du bærer rundt om halsen hver dag for beskyttelse. Den lille statue hængende fra bilens bagspejl til sikker rejse. ...

Valg af editor

Vælger skråninger, kanter og ansigter i blender - dummies

Vælger skråninger, kanter og ansigter i blender - dummies

I Blender's Edit-tilstand, kuben ændrer farve og prikker danner i hver af kubens hjørner. Hver prik er et vertex. Linjen der dannes mellem to hjørner er en kant. Et ansigt i Blender er en polygon, der er dannet af tre eller flere forbindelseskanter. Tidligere er ansigter i Blender ...