現在有一棵合法的二叉樹,樹的節點都是用數字表示,現在給定這棵樹上所有的父子關係,求這棵樹的高度
輸入的第一行表示節點的個數n(1 ≤ n ≤ 1000,節點的編號為0到n-1)組成,下面是n-1行,每行有兩個整數,第乙個數表示父節點的編號,第二個數表示子節點的編號
輸出樹的高度,為乙個整數示例1
50 10 2
1 31 4
3
思路:根據給定的結點關係,建立樹,然後再計算樹的高度
#include #include#include
using
namespace
std;
struct
node
};
void createtree(node *root, int father, int
child)
createtree(root->lchild, father, child);
createtree(root->rchild, father, child);
}
int getheight(node *root)
intmain()
cout
<< getheight(root) <}
return0;
}
牛客網A 生成樹
你有一張n個點的完全圖 即任意兩點之間都有無向邊 現在給出這張圖的兩棵生成樹 定義一次操作為 在任意一棵生成樹中刪除一條邊後再加入一條邊 必須在同一棵樹中操作 同時需要保證操作完後仍然是一棵樹 問使得兩棵樹相同的最少操作次數,若不存在合法的操作方案,輸出 1 注意 這裡的相同指的是點集與邊集均相同,...
牛客網 剩下的樹
題目描述 有乙個長度為整數l 1 l 10000 的馬路,可以想象成數軸上長度為l的乙個線段,起點是座標原點,在每個整數座標點有一棵樹,即在0,1,2,l共l 1個位置上有l 1棵樹。現在要移走一些樹,移走的樹的區間用一對數字表示,如 100 200表示移走從100到200之間 包括端點 所有的樹。...
牛客網12 樹的子結構
題目描述 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 coding utf 8 class treenode def init self,x self.val x self.left none self.right none 下面兩個函式,hassubtr...