Avatar billede syncroniq Nybegynder
19. juni 2007 - 10:38 Der er 3 kommentarer og
1 løsning

binær træ, pointere

Hey,

Jeg har nu siddet og prøvet og lave et lille træ. Problemmet er at min currentNode som starter ved Root ikke er en pointer (åbenbart) da root er tom når jeg har puttet ting i currentNode.

Hvordan fungere det lige?

Jeg har en form med knapper.

Jeg har 2 x class modules, en som hedder tree med funktionerne og en som hedder node som holder en værdi, leftnode og rightnode.

Hvordan får jeg opbygget træet fra Root via min CurrentNode? Jeg ville jo gerne at CurrentNode var en pointer som starter ved Root, og når jeg arbejder på den arbejder jeg egenlig i root (og nedefter)
Avatar billede japping Nybegynder
09. juli 2007 - 01:11 #1
Drop alt med knapper o.l. før du har styr på pointerne.

Start med:
CurrentNote=Nill
Root=Nill

Husk aldrig at flytte Root fra træets rod.

Opbyg din træ ved at have en pointer i træet og en NewNote.
gør følgende:
NewNote->.Value="Første"
NewNote->.L=Nill
NewNote->.R=Nill
Root->=NewNote

Nu kan NewNote flyttes da Root har fat i træet.

NewNote->.Value="andet"
NewNote->.L=Nill
NewNote->.R=Nill

Det nye element indsættes i træet ved at placere en pointer på stedet:

New->=Root->.L->
New->=NewNote->

således kan du fortsætte med at vandre rundt i træstrukturen.

En mere detaljeret gennemgang finder du her: http://en.wikipedia.org/wiki/Binary_search_tree

Når du arbejder med binære træer skal du altid have en rutine til udskrift af de binære træer, så du kan kontrollere at træet dannes korrekt. Rutiner til dette finder du her: http://en.wikipedia.org/wiki/Tree_traversal
Avatar billede japping Nybegynder
10. juli 2007 - 22:59 #2
Hallo, er der nogen ?
Avatar billede syncroniq Nybegynder
10. juli 2007 - 23:13 #3
Hey,

Jeg ved skam godt hvordan man behandler et binær træ og andre ADT'er. Spørgsmålet gik på hvordan man gjore i VB. Altså hvordan man ren praktisk realiserede et binær træ, da jeg ikke har fundet ud af hvordan man laver en pointer i sproget.
Avatar billede japping Nybegynder
10. juli 2007 - 23:58 #4
Ok, jeg var ikke helt vågen her ......... undskyld hvis jeg misforstod.

Jeg har aldrig arbejdet med pointere i VB og viste ikke de var så specielt. Men har har du vist svaret, som jeg ikke finder nogen grund til at kopiere ind her:

http://www.thevbzone.com/secrets.htm
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester