VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1205|回复: 16

[交流] 二叉树的深度附代码

[复制链接]
79_avatar_middle
在线会员 发表于 2016-4-21 09:15:50 | 显示全部楼层 |阅读模式
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
输入:
第一行输入有n,n表示结点数,结点号从1到n。根结点为1。 n <= 10。
接下来有n行,每行有两个个整型a和b,表示第i个节点的左右孩子孩子。a为左孩子,b为右孩子。当a为-1时,没有左孩子。当b为-1时,没有右孩子。
输出:
输出一个整型,表示树的深度。
样例输入:
3
2 3
-1 -1
-1 -1
样例输出:
            2
思想:这个没什么思想,就是树的遍历而已

代码AC:
[cpp] view plain copy print?
#include <stdio.h>  
#include <stdlib.h>  
  
typedef struct tree  
{  
        int id;  
        int vi;  
        int lc;  
        int rc;  
}tree, *p_tree;  
  
int n;  
p_tree t;  
int level;  
  
void fun( int idx, int l )  
{  
     int tmp;  
      
     if( t[idx].lc == -1 && t[idx].rc == -1 )  
     {  
         if( l > level )  
         {  
             level = l;  
         }  
     }  
     else  
     {  
         if( t[idx].rc <= n && t[idx].rc >= 1 )  
         {  
             fun( t[idx].rc - 1, l + 1 );  
         }  
           
         if( t[idx].lc <= n && t[idx].lc >= 1 )  
         {  
             fun( t[idx].lc - 1, l + 1 );  
         }  
     }  
}  
  
int main()  
{  
    int i;  
      
    while( scanf("%d", &n) != EOF )  
    {  
           t = ( p_tree )malloc( sizeof( tree ) * n );  
            
           for( i = 0; i < n; i++ )  
           {  
                t.id = i + 1;  
                scanf("%d%d", &t.lc, &t.rc);  
           }   
            
           level = -1;  
           fun( 0, 1 );  
            
           printf("%d\n", level);  
    }  
      
    return 0;  
}  

评分

参与人数 5驿站币 +6 热心值 +6 收起 理由
01_avatar_small 天下第一 + 1 + 1 赞一个!
10_avatar_small cmx006 + 1 + 1 很给力!
28_avatar_small 天下 + 1 + 1 赞一个!
11_avatar_small 饮水机 + 1 + 1 希望多来一下这样的知识
88_avatar_small 寂寞江湖 + 2 + 2 二叉树是数据结构的重点

查看全部评分





上一篇:Rc4
下一篇:献上新人简单的STL用法
06_avatar_middle
在线会员 发表于 2016-4-21 09:42:19 | 显示全部楼层
二叉树是数据结构的重点
86_avatar_middle
在线会员 发表于 2016-4-21 14:32:33 | 显示全部楼层
看看
二叉树的深度附代码二叉树的深度附代码二叉树的深度附代码
08_avatar_middle
在线会员 发表于 2016-4-22 08:31:40 | 显示全部楼层
二叉树的深度附代码
50_avatar_middle
在线会员 发表于 2016-4-23 10:51:46 | 显示全部楼层
xxgfx二叉树的深度附代码
51_avatar_middle
在线会员 发表于 2016-4-23 16:30:37 | 显示全部楼层
谢谢分享啊
88_avatar_middle
online_vip 发表于 2016-4-25 14:31:04 | 显示全部楼层
学些了 哈哈
72_avatar_middle
online_vip 发表于 2016-4-25 15:37:35 | 显示全部楼层
看看说的内容
12_avatar_middle
online_vip 发表于 2016-4-26 11:23:21 | 显示全部楼层
tuotuode
11_avatar_middle
在线会员 发表于 2016-4-28 22:06:05 | 显示全部楼层
谢谢分享
28_avatar_middle
在线会员 发表于 2016-5-8 08:15:39 | 显示全部楼层
学校的发现
10_avatar_middle
在线会员 发表于 2016-5-8 08:16:10 | 显示全部楼层
谢谢分享啊
24_avatar_middle
在线会员 发表于 2016-5-8 21:57:47 | 显示全部楼层
看看是什么好算法····二叉树的深度附代码
40_avatar_middle
在线会员 发表于 2016-5-13 08:59:27 | 显示全部楼层
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案
04_avatar_middle
在线会员 发表于 2017-8-24 15:04:08 | 显示全部楼层
111111111111
38_avatar_middle
在线会员 发表于 2017-8-25 11:46:42 | 显示全部楼层
看看学习一下
09_avatar_middle
online_vip 发表于 2017-8-31 14:40:40 | 显示全部楼层

二叉树是数据结构的重点
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-3-20 01:54

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表