#include
#include
using
namespace std;
#define len 30
typedef
struct treenodetreenode;
//按照從左到右,從上到下給二叉樹賦值
treenode *
init
(int
*init_arr,
int lens)
else treearr[i]
=null;}
//再把他們串成鍊錶
int len=lens/2;
for(i=
0;ireturn treearr[0]
;}//先序遍歷
void
preorder
(treenode *head)
}//中序遍歷
void
inorder
(treenode *head)
}//後續遍歷
void
postorder
(treenode *head)
}//輸出二叉樹葉子節點
void
print_leaf_node
(treenode *root)
}//統計葉子節點個數:方法一
int leaf_count=0;
void
leaf_num1
(treenode *root)
}//統計葉子節點個數:方法二
intleaf_num2
(treenode *root)
else
if(root-
>lchild==
null
&&root-
>rchild==
null
)else
}//求二叉樹高度:先序遍歷
int depth=0;
void
pre_tree_depth
(treenode * head,
int h)
}int
main
(int argc,
char
const
*ar**)
;//0表示
head=
init
(init_arr,7)
;//傳陣列跟陣列的長度
preorder
(head)
;//先序遍歷輸出
cout/ inorder(head);//中序遍歷
// cout// cout// cout// cout<<"葉子節點個數:"// cout<<"葉子節點個數:"// cout<<"二叉樹深度:"}
資料結構 二叉樹的想法
先序遍歷結果 abdce 中序遍歷結果 bdace 後序遍歷結果 dbeca 使用理由 二叉鍊錶不能夠直接得到結點在遍歷序列中的前驅和後繼資訊。線索二叉樹結構 這裡lchild和rchild都是指向結點的指標域 ltag 0,lchild域指示結點的左孩子 ltag 1,lchild域指示結點的遍歷...
mysql 遍歷二叉樹 資料結構 二叉樹遍歷
這篇博文主要是研究二叉樹遍歷的遞迴與非遞迴演算法,有興趣的小夥伴可以了解下!二叉樹的遞迴遍歷 深度優先遍歷 先來張圖,看看各結點遍歷時的情況 二叉樹深度優先遍歷總結 分別為第一次,第二次,第三次進入某個結點 先序遍歷 先訪問根結點,然後先序遍歷左子樹,最後先序遍歷右子樹 根 左 右 中序遍歷 先中序...
資料結構 遍歷二叉樹
資料結構實驗之二叉樹二 遍歷二叉樹 time limit 1000ms memory limit 65536kb submit statistic problem description 已知二叉樹的乙個按先序遍歷輸入的字串行,如abc,de,g,f,其中,表示空結點 請建立二叉樹並按中序和後序的方...