樹的前中後序遍歷

2021-08-10 06:05:31 字數 1288 閱讀 1793

#include

#include

typedef int datatype;

typedef struct bnode

btree_t;

//建立二叉樹 結點

btree_t *create_bnode(datatype data)

bzero(tree,sizeof(btree_t));

tree->data = data;

tree->lchild = null;

tree->rchild = null;

return tree;

}//a----節點儲存的資料

//num----當前節點的編號

//n------節點總個數

//創造乙個完全二叉樹

btree_t*create_binarrytree(char *a,int num,int n)

if(2 * num + 1 <= n)//說明右孩子存在,建立右孩子

return root;

}//前序遍歷:根左右

void preorder(btree_t *root)

printf("%c\n",root->data);

preorder(root->lchild);

preorder(root->rchild);

return ;

}//中序遍歷:左根右

void inorder(btree_t *root)

inorder(root->lchild);

printf("%c\n",root->data);

inorder(root->rchild);

return;

}//後序遍歷

void postorder(btree_t *root)

postorder(root->lchild);

postorder(root->rchild);

printf("%c\n",root->data);

return;

}int main()

;btree_t  *root = null;

root = create_binarrytree(a,1,6);

printf("perorder :\n");

preorder(root);

printf("inorder :\n");

inorder(root);

printf("postorder :\n");

postorder(root);

return 0;

}

BST樹的查詢 前 中 後序遍歷的實現

bst樹中查詢操作的實現 public bstnode query t data else if cur.getdata compareto data 0 else return null 前序遍歷 先輸出父節點,再遍歷左子樹和右子樹 中序遍歷 先遍歷左子樹,再輸出父節點,再遍歷右子樹 後序遍歷 先...

二叉樹的前中後序遍歷

秋招記錄 對一棵二叉樹進行遍歷,我們可以採取3種順序進行遍歷,分別是前序遍歷 中序遍歷和後序遍歷。這三種方式是以訪問父節點的順序來進行命名的。假設父節點是n,左節點是l,右節點是r,那麼對應的訪問遍歷順序如下 前序遍歷 中左右 n l r 中序遍歷 左中右 l n r 後序遍歷 左右中 l r n ...

二叉樹的前 中 後序遍歷

import lombok.data import lombok.noargsconstructor data noargsconstructor class treenode 前序遍歷 根 左 右 public void preorder 遞迴向右子樹前序遍歷if this right null ...