思路:
先對二叉樹進行擴充套件,將每個節點的空指標設定為「#」,這樣就可以按前序遍歷的方式建立乙個二叉樹。
建立乙個上圖所示的二叉樹。
輸入的值為:a b d # # e # # c # #
實現:
//建立二叉樹
public
class bshu
//遞迴建立
public
static node creat(node node,string s1)else
return node;
}//前序遍歷
public
static
void
look(node node)}}
輸出結果:
a b d #
# e
# # c
# # (回車)
abdec
可以看到,成功地輸出二叉樹的前序遍歷結果,表示二叉樹建立成功。
節點類
class node
public
node(string s)
public
node()
}
構建二叉樹 遍歷二叉樹
陣列法構建二叉樹 public class main public static void main string args 用陣列的方式構建二叉樹 public static void createbintree 把linkedlist集合轉成二叉樹的形式 for int j 0 j 最後乙個父節...
構建二叉樹
前序遍歷構建二叉樹是根據根節點 左節點 右節點的方式輸入資料,針對乙個節點來說,首先輸入的是根節點,根節點之後的數值應該是其左子節點,之後是右節點,如果是遞迴,則首先是一直設定左節點,之後再依次設定右節點。之前在看二叉樹過程中,見過最多的是輸入個位數字構建二叉樹,今天看到乙個可以輸入多個數字的輸入方...
二叉樹的構建
二叉樹包括順序儲存和鏈式儲存,這裡只說鏈式儲存,二叉樹的每個結點和雙鏈表有些類似,但是數的結構要比雙鏈表複雜,在構造樹的過程中涉及到遞迴呼叫的問題,遞迴的問題往往是很複雜的問題,因此,這裡單獨說二叉樹的構建。include include include 定義二叉樹 typedef struct n...