确定二叉树的特征.docVIP

  • 5
  • 0
  • 约1.81千字
  • 约 3页
  • 2017-08-31 发布于重庆
  • 举报
确定二叉树的特征.doc

确定二叉树的特征 班级:F0403701学号:5040379022姓名:姚永磊 一:问题描述: 请编写一个程序,确定二叉树的特征。如:每个节点的层次,从根到该节点的枝长(路径长度),子孙的个数及祖先的个数。每个节点在前序、中序、后序中的访问的序号。 二:设计思想: ◆确定节点的层次:用递归,跟遍历相似。TreeNode成员函GetNodeClass( Type a, int i )实现如下: static TreeNode * Ptr = NULL;//若为空,则表示还没有找到该节点 Ptr = NULL; static int num1 = 0;//记录层次 if( i == 1 )//第一次调用该函数时将num1初始化为零 num1 = 0; num1++;//每访问一个数层次加一 int num2 = num1;//保存num1,退回本次递归时重新初始化num1 if( data == a )//若根节点的数据为a,则返回根节点指针this { Ptr = this; return num1; } if( left != NULL )//若左子树非空,在左子树中找 { left-GetNodeClass( a, 0 ); } if( Ptr != NULL )//找到了,当前num1为层次 return num1; num1 = num2;//退回本

文档评论(0)

1亿VIP精品文档

相关文档