二叉樹遞迴遍歷

2022-04-28 08:06:11 字數 2313 閱讀 2059

編寫簡單的程式對下圖二叉樹進行遍歷

先訪問根節點

printf("

%c", root->ch);

//再遍歷左子樹

recursion(root->lchild);

//再遍歷右子數

recursion(root->rchild);

//

再遍歷左子樹

recursion(root->lchild);

//先訪問根節點

printf("

%c", root->ch);

//再遍歷右子數

recursion(root->rchild);

//

再遍歷左子樹

recursion(root->lchild);

//再遍歷右子數

recursion(root->rchild);

//先訪問根節點

printf("

%c", root->ch);

recursion(&node1);

//

建立結點

binarynode node1 = ;

binarynode node2 = ;

binarynode node3 = ;

binarynode node4 = ;

binarynode node5 = ;

binarynode node6 = ;

binarynode node7 = ;

binarynode node8 = ;

//

建立結點關係

//二叉樹結點

8 typedef struct

binarynodebinarynode;

1314

//遞迴函式

15void recursion(binarynode*root)

1626

27//

建立二叉樹結點

28void

createbinarytree()29;

32 binarynode node2 = ;

33 binarynode node3 = ;

34 binarynode node4 = ;

35 binarynode node5 = ;

36 binarynode node6 = ;

37 binarynode node7 = ;

38 binarynode node8 = ;

3940

//建立結點關係

41 node1.lchild = &node2;

42 node1.rchild = &node6;

43 node2.rchild = &node3;

44 node3.lchild = &node4;

45 node3.rchild = &node5;

46 node6.rchild = &node7;

47 node7.lchild = &node8;

4849

//遞迴遍歷

50 recursion(&node1);

51 printf("\n"

);52}53

54int

main()

55

遞迴遍歷二叉樹

include include include 二叉鍊錶表示法 typedef struct tag bitnode bitnode 先序遍歷 void xianxuorder bitnode root 先根 printf c root data 左子樹 xianxuorder root lchil...

二叉樹排序 (遞迴遍歷) 遍歷

package week3.day10 2020 8 3 15 08 zmx public class testbinarysorttree class binarysorttree else public void nodeprint class node public boolean addch...

二叉樹遍歷(遞迴 非遞迴)

二叉樹以及對二叉樹的三種遍歷 先根,中根,後根 的遞迴遍歷演算法實現,以及先根遍歷的非遞迴實現。node public class node public node left public node right public object value 遍歷訪問操作介面 public inte ce ...