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

Dække dine baser med denne mobile SEO-tjekliste over opgaver - dummies

Dække dine baser med denne mobile SEO-tjekliste over opgaver - dummies

Det store flertal af amerikanerne surfer på internettet fra deres telefoner. Her er en hurtig-reference tjekliste over mobile webdesign og optimeringsopgaver. Når du gør dit websted mobil, skal du sørge for at afkrydse varerne på denne mobile SEO checkliste! Vælg en mobil platform Bestem hvilken metode til mobildesign, du vil implementere til dit mobilsite. ...

Styring af dine links til SEO - dummies

Styring af dine links til SEO - dummies

Inden du løber af for at søge efter links til at forbedre din søge ranking , tænk på, hvad du vil have disse links til at sige. Nøgleord i links er uhyre vigtige. Placeringen af ​​en side i søgemaskinerne afhænger ikke kun af teksten inden for denne side, men også på tekst på andre sider, der henviser til ...

Du skal tage den rigtige mobil tilgang til din SEO-strategi - dummies

Du skal tage den rigtige mobil tilgang til din SEO-strategi - dummies

Mobil brug i betragtning, når du udvikler dit websted til SEO. Fordi en stationær computerskærm og en smartphone er meget forskellig i størrelse, betyder design for mobil, at du skal gøre en af ​​tre ting: Opbyg et lydhurt webdesign, der dynamisk tilpasser indhold fra desktopformat til mobil ...

Valg af editor

Hvordan man opretter en influenslisteliste på Klout - dummies

Hvordan man opretter en influenslisteliste på Klout - dummies

I sidebjælken på venstre side af din Klout Friends-skærm, ser du en orange Opret en ny liste-knap. Når du klikker på denne knap, vises et pop op-vindue. I denne boks kan du tilføje folk til listen og navngive listen. På dette tidspunkt kan du kun føje influencere af deres Twitter ...

Hvordan man undgår beregninger faldgruber med dit websted Analytics data - dummies

Hvordan man undgår beregninger faldgruber med dit websted Analytics data - dummies

Du kan undre sig hvordan i verden kan du lave fejl med data, der bliver leveret til dig i pæne rapporter og grafer. Sociale metrics-tjenester gør et godt stykke arbejde med at indsamle alle de data, du fortæller dem, at finde. Der er mange målinger faldgruber derude. Du kan nemt ...

Sådan dekrypterer du Social Media Metrics Codes and Patterns - dummies

Sådan dekrypterer du Social Media Metrics Codes and Patterns - dummies

Som du sporer din sociale medieværdier over tid og begynder at bruge nogle af de næste lagværktøjer, såsom segmentering og dayparting, til at analysere din online og sociale interaktion, er det vigtigt at holde øje med brugsmønstre, interesse og engagement og hemmelige koder din besøgende og fans / tilhængere sender ...

Valg af editor

Matchende vinkler til levnedsmiddelfag i madfotografi - dummier

Matchende vinkler til levnedsmiddelfag i madfotografi - dummier

Give et andet udseende og følelse for dine billeder. Nøglen er at spille rundt med de forskellige vinkler og derefter fokusere på fødevaren. Nogle vinkler ser langt mere appetitvækkende ud end andre, men det varierer fra mad til mad.

Maksimere forstørrelse med små motiver - dummier

Maksimere forstørrelse med små motiver - dummier

Universet ser ud til at give detaljerede detaljer, fra galaksen til solen system, til bjergene, til træerne, til dyrene, til insekterne og ned til bakterierne og cellerne, til atomer og hinsides. Fotografering kan fange de oplysninger, der leveres på disse forskellige lag. Hvor langt ned på skalaen du ...

Meter med dit kamera i HDR Photography - dummies

Meter med dit kamera i HDR Photography - dummies

Ved hjælp af en forudindtaget bracketingstrategi i HDR fotografering fungerer godt, men ulempen ved ikke, om du virkelig fanger hele sceneens dynamiske område med parenteserne (hvis du holder øje med et levende histogram, er du tættere på at vide). En mere flot indflydelse afhænger af måling af højder og nedture ...