二叉树
donshing
这个作者很懒,什么都没留下…
展开
-
求一个二叉树中任意两个节点间的最大距离
题目:求一个二叉树中任意两个节点间的最大距离, 两个节点的距离的定义是这两个节点间边的个数, 比如某个孩子节点和父节点间的距离是1,和相邻兄弟节点间的距离是2,优化时间空间复 杂度。 看了那么多网上的答案,总觉得有点复杂,自己写了一个,欢迎指正 #define max(a,b) a>b?a:b typedef struct BinTreeNode { int data; stru原创 2013-10-05 23:58:33 · 2949 阅读 · 0 评论 -
二叉树两个结点的最低共同父结点
题目:输入二叉树中的两个结点,输出这两个结点在数中最低的共同父结点。 typedef struct BinTreeNode { int data; struct BinTreeNode *pLeft; struct BinTreeNode *pRight; }*pBinTreeNode; BinTreeNode * getLCA(BinTreeNode * roo转载 2013-10-06 14:52:08 · 578 阅读 · 0 评论 -
一棵排序二叉树,令 f=(最大值+最小值)/2, 设计一个算法,找出距离f 值最近、大于f 值的结点。 复杂度如果是O(n2)则不得分
RT typedef struct BinTreeNode { int data; struct BinTreeNode *pLeft; struct BinTreeNode *pRight; }*pBinTreeNode; BinTreeNode* GetCloseNode(BinTreeNode* root,int mid) { BinTreeNode* node = NU原创 2013-10-06 16:17:31 · 988 阅读 · 0 评论