程式設計之美上的題目。
問題1:給定一棵二叉樹,要求按分層遍歷該二叉樹,即從上到下按層次訪問該二叉樹(每一行將單輸出一行),每一層要求訪問的順序為從左向右,並將節點依次編號。
問題2:寫乙個函式,列印二叉樹中某層次的節點(從左向右),其中根結點為第1層。
#include<
iostream
>
#include
<
queue
>
using
namespace
std;
struct
tnode
tnode(
inti):leftchild(null),rightchild(null)
};//
**之美上的。輸出第level層的所有元素
void
printnodeatlevel(tnode
*root,
intlevel)
if(level==1
)printnodeatlevel(root
->
leftchild,level-1
);printnodeatlevel(root
->
rightchild,level-1
);}intmain()
cout
<<
temp
->
value
<<""
;if(temp
->
leftchild
!=null)
if(temp
->
rightchild
!=null)
}cout
<<
endl;
//printnodeatlevel(node1,3);
return0;
}
分層遍歷二叉樹
include include struct node struct node inittree for i 0 i 2 i tree 3 lchild tree 7 tree 5 rchild tree 8 return tree 0 int printnodeatlevel struct nod...
分層遍歷二叉樹
程式設計之美 3.10 p252 給定一棵二叉樹,壓球按分層遍歷該二叉樹,即從上到下按層次訪問該二叉樹 每一層將單獨輸出一行 每一層要求訪問的順序為從左到右,並將節點依次編號。分層輸出二叉樹。struct nodevoid printnodebylevel node root 輸出為 1 2 34 ...
二叉樹面試題
1.求二叉樹節點個數 可以使用遞迴解決。將問題分解為求根節點 左子樹的節點數 右節點的節點數。實現 public size t size private size t size node root 2.求頁節點個數 頁節點 左右子樹都為空的節點被稱為頁節點,使用遞迴遍歷,當碰到乙個左右子樹為空的節點...