hvordan å implementere BST inorder traversering?

stemmer
0

Egentlig det jeg vil vite er ikke hvordan man skal gjennomføre i-order traversering algoritme for en BST, men å gjennomføre det bare ved hjelp av innsetting, sletting og pre-order traversering algoritmer for en BST.
Du kan anta at du får implementeringer for standard BST algoritmer for innsetting, sletting og pre-order traversering.

Publisert på 18/10/2011 klokken 05:36
kilden bruker
På andre språk...                            


2 svar

stemmer
0

Hmmm ... Kan si vi har + på rot og en på venstre node og to til høyre node. Den pre-order vil være + 1 2og for vil bli 1 + 2.. Forskjellen er at første og andre har blitt byttet, så hvis du har innsetting og sletting kan du rekursivt bytte hver rotnoden verdi med sin venstre node verdi og deretter bruke pre-order traversere det tre som kommer tilbake vil føre til en inorder traversering.

Jeg er ikke sikker på om dette er veien å gå, men jeg håper det hjelper.

Svarte 18/10/2011 kl. 05:46
kilden bruker

stemmer
0

Jeg tror jeg har funnet en løsning. :)

vi har pre-ordens gjennomsøkings, innsetting og slettemetoder.

Anta at vi får en BST.

det vi gjør er at vi gir den pre-order traversering metoden med den gitte BST. siden salg traversering alltid gå til foreldrenoden første, vi fjerne og sette inn hver rot (fordi roten er den første basis vi møter) node rekursivt helt til venstre sub-treet på rot er null.

nå du begynner å slette roten til det er ingen noder left.Put de slettede noder i en matrise eller hvor du vil. Du vil få sortert sett av noder. (Dvs. nodene vil bli slettet i en sortert order.the minste først og så videre ...)

Svarte 21/10/2011 kl. 06:54
kilden bruker

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