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