中序遞迴遍歷二叉樹的演算法?(資料結構)

2021-06-13 06:39:10 字數 1783 閱讀 7912

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...

某二叉樹的前序遍歷是abdgcefh,中序遍歷是dgbaechf,則起後序遍歷的結點訪問順序是什麼,為什麼

不太記得了,應該是 g d b a e h f c 二叉樹的3中遍歷,知道任何其中2種,就可以建立這個二叉樹。自然就可以得到第3中的遍歷了。具體方法可以翻書或網上查詢相關資料。前序是 根左右 由此可判斷a為根節點,再看中序 由於a為根,所以在中序中根據 左根右 原則a前的即為a的左子樹 dgb 右邊...

資料結構二叉樹的遍歷,C語言資料結構 二叉樹的遍歷

前序 根,左兒子,右兒子 中序 左兒子,根,右兒子 後序 左兒子,右兒子,根 首先是要牢記一上幾句話 比如這棵樹的中許遍歷,a有左兒子,先不訪問a,以此類推,直到d沒有左兒子,訪問d,然後訪問d的根b,然後應該訪問b的右兒子,但是b沒有,所以訪問b的根a,訪問完a以後訪問a的右子樹。先看c,c有左兒...