Implementering av et balansert binært søketre?

stemmer
10

Jeg har implementert et binært søketre og jeg ønsker å legge til mer funksjonalitet i sin innsetting funksjon for å gjøre det til en selvbalanserende treet. Jeg koding i C #.

Kan noen vennligst foreslå meg gode tutorials eller linker på dette? Jeg gjorde noen søk og fant noen linker, men ingen av dem var beskrivende nok.

Takk.

Publisert på 24/07/2011 klokken 08:25
kilden bruker
På andre språk...                            


2 svar

stemmer
13

Det er svært mange algoritmer for selvbalanserende søke trær, hvorav mange er komplekse og andre som er ganske grei (om enn med noen begrensninger).

Boken "Innføring i Algoritmer, Second Edition" av Cormen, Leisserson, Rivest, og Stein er en utmerket introduksjon til algoritmer og dekker rød / sorte trær svært godt. Det er også en stor bok generelt på algoritmer og datastrukturer.

Hvis du er interessert i å bruke sprikende trær , som er ekstremt rask og faktisk ganske enkelt å implementere, den originale papir på datastrukturen er svært tilgjengelig. På toppen av dette, omfatter det et bevis på alle kjøretids grenser.

Den treap er en enkel randomisert balansert binært søketre som kan implementeres ganske lett når du vet hvordan du skal gjennomføre tre rotasjoner . Tre rotasjoner er også brukt i sprikende trær også, og så kan det være verdt å undersøke.

For AVL trær , dette foredraget ser ut til å være en god ressurs.

Håper dette hjelper!

Svarte 24/07/2011 kl. 08:31
kilden bruker

stemmer
0

sjekk ut http://code.google.com/p/self-balancing-avl-tree/ , implementerer en selvbalanserende avl tre i C #. pluss det implementerer også sette sammen og dele operasjoner.

Svarte 12/07/2012 kl. 22:41
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more