1樓:匿名使用者
#include
#include
#define maxsize 100
typedef char elemtype;
typedef struct node
bitnode;
}}j++;
ch=str[j];}}
bitnode *find(bitnode *b,elemtype x)
}bitnode *lchild(bitnode *b)bitnode *rchild(bitnode *b)int bitreedepth(bitnode *b)void visit(char ch)
/*先序遍歷二叉樹*/
void preorder(bitnode *b)}/*中序遍歷二叉樹*/
void inorder(bitnode *b)}/* 後序遍歷二叉樹*/
void postorder(bitnode *b)} void main()
printf("\n");
printf("(3)二叉樹b的深度為:%d\n",bitreedepth(b));
printf("(4)先序遍歷序列為:");
preorder(b);
printf("\n(5)中序遍歷序列為:");
inorder(b);
printf("\n(6)後序遍歷序列為:");
postorder(b);
printf("\n");}
2樓:呆啊呆啊呆
seek( 某一節點)
3樓:匿名使用者
#include
using namespace std;
#include
#include
#include
#define maxsize 20 //最大結點個數
//#define n 14 //必須輸入結點個數(包含虛結點)
#define m 10 //最大深度
typedef struct nodebitree;
bitree*q[maxsize];
bitree*creatree()
rear++;
q[rear]=s;
if(rear==1)
else
else
if(rear%2==1)
front++;
}//i++;
cin>>ch;
}return t;
}int countleaf(bitree* t)
int treedepth(bitree *t)
}void output(bitree*t) //輸出列印二叉數
cout
output(t->lchild );}} int menu_select( ) return sn; } int main( ) }return 0; } /*void main()*/ 4樓:匿名使用者 void inorder ( bitptr t )} include include typedef enum pointertag 指標標誌 typedef char datatype typedef struct bithretreebithretree bithretree pre 全域性變數,用於二叉樹的線索化 bithretree creat... 不太記得了,應該是 g d b a e h f c 二叉樹的3中遍歷,知道任何其中2種,就可以建立這個二叉樹。自然就可以得到第3中的遍歷了。具體方法可以翻書或網上查詢相關資料。前序是 根左右 由此可判斷a為根節點,再看中序 由於a為根,所以在中序中根據 左根右 原則a前的即為a的左子樹 dgb 右邊... 前序 根,左兒子,右兒子 中序 左兒子,根,右兒子 後序 左兒子,右兒子,根 首先是要牢記一上幾句話 比如這棵樹的中許遍歷,a有左兒子,先不訪問a,以此類推,直到d沒有左兒子,訪問d,然後訪問d的根b,然後應該訪問b的右兒子,但是b沒有,所以訪問b的根a,訪問完a以後訪問a的右子樹。先看c,c有左兒...先序線索二叉樹的遍歷,後序線索二叉樹怎麼畫啊
某二叉樹的前序遍歷是abdgcefh,中序遍歷是dgbaechf,則起後序遍歷的結點訪問順序是什麼,為什麼
資料結構二叉樹的遍歷,C語言資料結構 二叉樹的遍歷