树
文章平均质量分 60
Matrix1254
爱代码,爱加班,爱咖啡可乐
爱挑战,爱钻研,爱打游戏
爱晚起,也爱工作到深夜。
我擅长技术,崇尚简单和懒惰
我神秘而孤僻,沉默而爱憎分明
我行我素,我是程序员
展开
-
pat 1004 Counting Leaves
1.3两个测试点没过,若有知道哪里没过的,烦请告知 #include #include //system("Pause"); #define MAX_LENGTH 105 int childNum[MAX_LENGTH]; int level[MAX_LENGTH]; int count[MAX_LENGTH]; int main() { int n,m,i,k,id; int chil原创 2012-11-21 18:16:32 · 522 阅读 · 0 评论 -
pat 1004 counting Leaves
之前一直WA,转换了个思路(用一个parent[]保存父结点,而不是老想用一个数组保存子结点),就1Y了。输入时进行处理,用一个parent[]保存父结点,标记出所有的非叶结点,再对每个叶结点计算它们的层数,相应的层数的叶结点数++即可。 AC代码: #include using namespace std; struct node { node *left,*right; in原创 2013-02-26 22:38:22 · 670 阅读 · 0 评论 -
pat 1020 Tree Traversals
已知二叉树后序和中序,求层次顺序。需要重点参考。 #include #include #include using namespace std; struct node { int value; node *left,*right; }; vector inOrder,post,ans; queue outOrder; node * getParent(int start,int en原创 2013-02-26 15:59:48 · 634 阅读 · 0 评论 -
pat 1021 Deepest Root
题目是要判断图是否都连接构成树,求使树高最大的所有的根,实际上求图上两点间最大距离。我的思路是依次取各点进行DFS,记下各点可达的最大深度,再在其中取最大值,若各点的最大深度等于该值,该点为所求。若最大深度不等于n-1,则不是一棵树,再用并查集判断有几部分。可能思路有问题,WA了N久。参考网上程序,发现树的最长路径其实有个很方便的求法。任取一个点x,求出距离x最远的一个点y,然后求出距离y最远的一原创 2013-02-28 22:59:04 · 1036 阅读 · 0 评论