![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程之美
StableAndCalm
这个作者很懒,什么都没留下…
展开
-
第三章 -- 分层遍历二叉树
1.给定一棵二叉树,要求按分层遍历该二叉树,即从上到下按层次访问该二叉树(每一层将单独输出一行)。PrintNodeByLevel(Node *root) 2.另外写一个函数,打印二叉树中某层次的节点(从左到右),其中根节点为第0层,函数原型为PrintNodeAtLevel(Node *root, int level),成功返回1,失败返回0。 如果解决了第二个问题,则问题1可采用问原创 2012-09-16 20:14:06 · 748 阅读 · 0 评论 -
第三章 -- 求二叉树中节点的最大距离
写一个程序求一棵二叉树中相距最远的两个节点之间的距离。 相距最远的两个节点,一定是两个叶子节点,或者是一个叶子节点到它的根节点。 代码一: // 直接动态规划递归求解 struct NODE { NODE *lchild; NODE *rchild; int MaxLeft; // 左子树中的最长距离 i原创 2012-09-14 21:50:23 · 845 阅读 · 0 评论 -
第三章 -- 重建二叉树
给定一棵二叉树,假设每个节点都用唯一的字符来表示,具体结构如下: struct NODE { NODE *pLeft; NODE *pRight; char chValue; }; 假设已经有了前序遍历和中序遍历的结果,希望通过一个算法重建这棵树。 给定函数的定义如下: void Rebuild(char *pPreOrder, char *p原创 2012-09-16 19:13:13 · 664 阅读 · 0 评论