資料結構271 中序遍歷二叉排序樹

2021-10-08 18:03:18 字數 658 閱讀 6184

中序遍歷二叉排序樹

輸入一整數序列,建立二叉排序樹,然後中序遍歷。

輸入第一行為整數的個數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為根結點,在中...