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