I tried to write binary tree related information in C #.Algorithm:
Code
# Region Obtain Binary Tree depth
Static Int Z, d = 0 ; // Z is used to record the depth when traversing to a node, and D is used to record the maximum depth.
Static Int Gettreedep (treenode node)
{
Z ++ ;
If (D < Z)
D = Z;
If (Node. leftnode ! = Null )
{
Gettreedep (node. leftnode );
Z -- ;
}
If (Node. rightnode ! = Null )
{
Gettreedep (node. rightnode );
Z -- ;
}
Return D;
}
# Endregion
# Region Layered traversal of Binary Trees
Static Arraylist al = New Arraylist ();
Static Arraylist recursivetreebylevel (treenode node)
{
K ++ ;
If (Al. Count < K)
{
Al. Add (node. nodename );
}
Else
{
Al [K - 1 ] + = Node. nodename;
}
If (Node. leftnode ! = Null )
{
Recursivetreebylevel (node. leftnode );
K -- ;
}
If (Node. rightnode ! = Null )
{
Recursivetreebylevel (node. rightnode );
K -- ;
}
Return Al;
}
# Endregion