数据结构第7章__树形结构.ppt

数据结构第7章__树形结构

例7.4 假设二叉树采用二叉链存储结构,设计一个算法Level()求二叉树中指定结点的层数。并利用本节的基本运算编写一个完整的程序,建立教材中图7.8(a)的二叉树的二叉链,对于用户输入的任何结点值计算出在该二叉树中的层次。 解:本题采用递归算法,设h返回p所指结点的高度,其初值为0。找到指定的结点时返回其层次;否则返回0。lh作为一个中间变量在计算搜索层次时使用,其初值为1。对应的算法如下: void Level(BTNode *b,BTNode *p,int h,int lh) /*找到*p结点后h为其层次,否则为0*/ { if (b==NULL) h=0; /*空树时返回0*/ else if (p==b) h=lh; /*找到结点p时*/ else { Level(b-lchild,p,h,lh+1); /*在左子树中递归查找*/ if (h==0) /*左子树中未找到时在右子树中递归查找*/ Level(b-rchild,p,h,lh+1); } } 例7.5 假设二叉树采用二叉链存储结构,设计一个算法输出从每个叶子结点到根结点的路径。 解:这里用层次遍历方法,设计的队列为非循环顺序队列(

文档评论(0)

1亿VIP精品文档

相关文档