Avatar billede hyggesen Nybegynder
07. december 2005 - 18:29 Der er 7 kommentarer og
1 løsning

AVL Binære søge træer

Hej Eksperter...!

Jeg har lavet et binært søge træ og det virker, men jeg mangler lige at kunne balancere træet efter sletning og indsætning af nodes. Jeg har læst div. sider på nettet om emnet, men jeg mangler bare lidt hjælp til at komme igang.

Jeg leder altså efter et program eksempel på balancering af et binært træ i C#.

På forhånd tak.

Mvh. Hyggesen
Avatar billede innercitydk Nybegynder
07. december 2005 - 20:04 #1
her er 3 måder at sortere på:


// begin preorder traversal
      public void PreorderTraversal()
      {
        lock ( this )
        {
            PreorderHelper( root );
        }
      }

      // recursive method to perform preorder traversal
      private void PreorderHelper( TreeNode node )
      {
        if ( node == null )
            return;

        // output node data
        Console.Write( node.Data + " " ); 

        // traverse left subtree
        PreorderHelper( node.LeftNode );   

        // traverse right subtree
        PreorderHelper( node.RightNode );   
      }

      // begin inorder traversal
      public void InorderTraversal()
      {
        lock ( this )
        {
            InorderHelper( root );
        }
      }

      // recursive method to perform inorder traversal
      private void InorderHelper( TreeNode node )
      {
        if ( node == null )
            return;

        // traverse left subtree
        InorderHelper( node.LeftNode );

        // output node data
        Console.Write( node.Data + " " );

        // traverse right subtree
          InorderHelper( node.RightNode );

      }

      // begin postorder traversal
      public void PostorderTraversal()
      {
        lock ( this )
        {
            PostorderHelper( root );
        }
      }

      // recursive method to perform postorder traversal
      private void PostorderHelper( TreeNode node )
      {
        if ( node == null )
            return;

        // traverse left subtree
        PostorderHelper( node.LeftNode );

        // traverse right subtree
        PostorderHelper( node.RightNode );

        // output node data
        Console.Write( node.Data + " " );
      }


Vh Nicki
Avatar billede innercitydk Nybegynder
07. december 2005 - 20:18 #2
sry havde lige misforstået dit spm
Avatar billede innercitydk Nybegynder
07. december 2005 - 20:33 #3
tjek lige den her side.. kig på red - black trees
Avatar billede innercitydk Nybegynder
07. december 2005 - 20:33 #4
Avatar billede innercitydk Nybegynder
07. december 2005 - 21:24 #5
Her er et eksempel med komplet kode

http://www.jot.fm/issues/issue_2005_03/column6

Vh
Avatar billede innercitydk Nybegynder
09. december 2005 - 14:03 #6
Hjalp det?!

Vh
Avatar billede hyggesen Nybegynder
12. december 2005 - 22:02 #7
Nej desværre. Jeg ledte efter en formel til balancering. Fik den andet sted fra. Men tak for hjælpen..
Avatar billede innercitydk Nybegynder
13. december 2005 - 15:13 #8
Det er noget jeg godt kunne bruge :D Kan vi finde ud af noget.. Du skal da ikke give point når jeg ikke løser dit problem :)

Vh
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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