zoukankan      html  css  js  c++  java
  • C#获取二叉树深度及分层遍历二叉树

    尝试了一下用C#写了一下二叉树的相关算法:

    代码
            #region 获取二叉树深度
            
    static int z, d = 0;    //z用于记录遍历到某节点时的深度,d用于记录最大深度
            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 分层遍历二叉树
             
    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
  • 相关阅读:
    盗COOKIE之方法总结
    会话追踪(session tracking)
    XSS盗COOKIE
    ActiveX 控件漏洞挖掘之方法
    Windows之权限讲解
    Centos网络配置小工具
    区分一下dpkg,rpm和yum以及apt-get
    Java中弹出框的集中方式
    Spring3 MVC请求参数获取的几种方法
    Spring自带配置方式链接数据库(没有src新建文件,没有c3p0)
  • 原文地址:https://www.cnblogs.com/jiajinyi/p/1656525.html
Copyright © 2011-2022 走看看