假设二叉树中每个节点值为单个字符,采用二叉链存储结构存储。设计一个算法,求二叉树b中第k层上节点个数。
intLevelkCount(BTNode*b,intk,inth){//h的初值为1intnum1,num2,num=0;if(b!=NULL){if(h==k)num++;num1=LevelkCount(b->lchild,k,h+1);num2=LevelkCount(b->rchild,k,h+1);num+=num1+num2;returnnum;}return0;}intLevelk(BTNode*b,intk){returnLevelkCount(b,k,1);}
举一反三
- 假设二叉树中每个节点值为单个字符,采用二叉链存储结构存储。设计一个算法,输出二叉树b中第k层(根节点的层次为1)上的所有叶子节点。
- 假设一棵二叉树中每个节点值为单个字符,采用二叉链存储结构存储。设计一个算法,采用层次遍历的方法求二叉树b的宽度(即具有结点数最多的那一层上节点总数)。
- 假设二叉树中每个节点值为单个字符,采用二叉链存储结构存储。设计一个算法,判断值为x的节点与值为y的节点是否互为兄弟,假设这样的节点值是唯一的
- 假设二叉树中每个节点值为单个字符,采用二叉链存储结构存储。设计一个算法求二叉树b的最小枝长。所谓最小枝长是指的是根节点到最近叶子节点的路径长度。
- 假设二叉树采用二叉链存储结构存储,设计一个算法,删除该二叉树,并释放所有的节点。
内容
- 0
假设二叉树采用二叉链存储结构存储,编写一个算法,输出一个二叉树的所有叶子节点。
- 1
假设二叉树采用二叉链存储结构进行存储,设计一个算法,求二叉树[tex=0.429x1.0]JThLUuJ8WswSAPiYZWihWg==[/tex]的宽度(即具有节点数最多的那一层上的节点总数)。
- 2
假设二叉树采用二叉链存储结构存储,试设计一个算法,输出从每个叶子节点到根节点的逆路径。
- 3
假设二叉树采用二叉链存储结构存储,设计一个算法,输出该二叉树中第一条最长的路径长度,并输出此路径上各节点的值。
- 4
假设二叉树以二叉链存储,设计一个算法,判断一棵二叉树是否为完全二叉树。