1. 關于二叉樹,下面說法正確的是()?
A. 對于N個節點的二叉樹,其高度為nlog2n;
B. 一個具有1025個節點的二叉樹,其高度范圍在11~1025之間
C. 二叉樹的先序遍歷是EFHIGJK,中序遍歷為HFIEJKG,該二叉樹的右子樹的根為G
D. 二叉樹中至少有一個節點的度為2
題源:2014騰訊校招廣州站
回顧
二叉樹是每個結點最多有兩個子樹的樹結構,即一個結點可有沒有子樹,或只有左子樹或右子樹,最簡單的二叉樹是一個結點,看似最不像二叉樹的是每個結點只有一個子樹,雖未「二叉」,但依舊按定義爲二叉樹。滿二叉樹的所有非葉結點都有兩個子樹,第k層有2^(k-1)個結點,全樹共有2^k-1個結點(等比數列)。完全二叉樹是從滿二叉樹倒序砍掉末尾的若干結點而得,說是完全,除了最後一層還沒有長滿,其他層已經「發育完全」,當然,未經修剪的滿二叉樹自動是完全二叉樹。
可以用遞歸過程來說二叉數的遍歷,先序遍歷是這樣產生的:
? visit (node) {
? ? print node.value
? ? if (node.left) visit(node.left)
? ? if (node.right) visit (node.right)
? }
先序(或前序)即每次訪問一個結點時先輸出其值,再去訪問左樹,等左樹訪問完,才行訪問右樹。所以當前結點是在訪問左樹和右數之前,故稱先序。對應地,中序在中間,後序在最後。
反觀該題,只有C選項正確。
created with creately.com