中序遍歷二叉排序樹
輸入一整數序列,建立二叉排序樹,然後中序遍歷。
輸入第一行為整數的個數n,第二行是具體的n個整數。
建立二叉排序樹,然後輸出中序遍歷的結果。
輸入示例:
51 6 5 9 8
輸出:1 5 6 8 9
#include
#include
typedef
struct node
btnode;
//二叉樹的建立
btnode *
createbtree
(int a,
int n)
if(pa->data>p->data)
pa->left=p;
else
pa->right=p;
}return root;
}//遍歷二叉樹 中序遍歷
void
inorder
(btnode *root)
}int
main
(void
) root=
createbtree
(array,n)
;inorder
(root)
;return0;
}
資料結構 二叉樹中序遍歷(非遞迴)
中序遍歷 左 根 右 中序遍歷的非遞迴和前序遍歷的非遞迴很相似,只是前序遍歷是根 左 右,而中序遍歷左 根 右,也就是說,中序遍歷是 先遇到根節點不訪問,而是直接壓入棧,當左路節點為空時,取出左路節點,並訪問左路節點的右子樹。若根的左子樹不為空,則將其入棧,並將它的左子樹當成當前根,然後再對當前根進...
資料結構 二叉樹的先序 中序 後序遍歷
在軟考或者自考中,總有這類的試題 求出下圖所示的二叉樹的先序遍歷 中序遍歷和後序遍歷的節點序列 我來附上一張手繪圖 看著有點沒技術含量 這裡你就會納悶,數字1是做什麼用的,別急,聽我下面慢慢給您解釋 我們從a作為入口,然後把這個整個的二叉樹外圍畫一遍,從a出發,第一次遇見b,所以我們就在b的左側上數...
資料結構 前序遍歷和中序遍歷確定二叉樹
已知乙個二叉樹,我們可以得到它的前序遍歷,中序遍歷和後續遍歷。那麼,我們已知前序和中序的遍歷結果,怎樣還原二叉樹呢?假設前序遍歷結果為 abdcef,中序遍歷結果為dbaecf。前序遍歷 根結點 左子樹 右子樹 中序遍歷 左子樹 根結點 右子樹 由此,我們可以得知,前序結果第乙個字母a為根結點,在中...