假设二叉树中每个节点值为单个字符,采用二叉链存储结构存储。设计一个算法,判断值为x的节点与值为y的节点是否互为兄弟,假设这样的节点值是唯一的
boolBrother(BTNode *b,char x,char y) { bool tag; if (b==NULL) return false; else { if(b->lchild!=NULL && b->rchild!=NULL) { if((b->lchild->data==x && b->rchild->data==y) || (b->lchild->data==y&& b->rchild->data==x)) return true; } tag=Brother(b->lchild,x,y); if (tag==true) return true; else return Brother(b->rchild,x,y); } }
举一反三
- 假设二叉树中每个节点值为单个字符,采用二叉链存储结构存储。设计一个算法,输出二叉树b中第k层(根节点的层次为1)上的所有叶子节点。
- 假设二叉树中每个节点值为单个字符,采用二叉链存储结构存储。设计一个算法,求二叉树b中第k层上节点个数。
- 假设非空二叉树采用顺序存储结构,每个节点值为单个字符。设计一个算法输出编号为i的节点的所有祖先节点值
- 假设一棵二叉树中每个节点值为单个字符,采用二叉链存储结构存储。设计一个算法,采用层次遍历的方法求二叉树b的宽度(即具有结点数最多的那一层上节点总数)。
- 假设二叉树中每个节点值为单个字符,采用二叉链存储结构存储。设计一个算法求二叉树b的最小枝长。所谓最小枝长是指的是根节点到最近叶子节点的路径长度。
内容
- 0
假设非空二叉树采用顺序存储结构,每个节点值为单个字符。设计一个算法求编号为i的节点的层次
- 1
假设二叉树采用二叉链存储结构存储,设计一个算法,输出该二叉树中第一条最长的路径长度,并输出此路径上各节点的值。
- 2
假设二叉树采用二叉链存储结构存储,设计一个算法,删除该二叉树,并释放所有的节点。
- 3
假设二叉树采用二叉链存储结构存储,编写一个算法,输出一个二叉树的所有叶子节点。
- 4
假设二叉树采用二叉链存储结构存储,试设计一个算法,输出从每个叶子节点到根节点的逆路径。