二叉樹的序列化

2021-08-04 10:07:07 字數 871 閱讀 4745

給定一棵二叉樹,實現序列化與反序列化。

序列化的方式:

* 根據先序遍歷序列化

* 根據後序遍歷序列化

* 根據層序遍歷序列化

1. 假設序列化的結果為 str ,初始時str為空字串

2. 先序遍歷二叉樹時如果遇到空節點,在str末尾加上「#,」

3. 如果遇到不為空的結點,假設節點值為3,就在str的末尾加上「3,」。

如下所示

**實現

string serialize(treenode node) 

stringbuilder res = new stringbuilder();

return res+"";

}

反序列化:將 str 轉化成陣列 values = ;

然後按照先序過程依次進行建樹 :根節點為1——》左孩子為2——》左孩子為null——》有孩子為null——》回到根節點上的右孩子為null;

**實現

int index = -1;

treenode deserialize(string str)

string strr = str.split(",");

treenode node = null;

if(!strr[index].equals("#"))

return node;

}

序列化二叉樹和反序列化二叉樹

題目描述 請實現兩個函式,分別用來序列化和反序列化二叉樹 二叉樹的序列化是指 把一棵二叉樹按照某種遍歷方式的結果以某種格式儲存為字串,從而使得記憶體中建立起來的二叉樹可以持久儲存。序列化可以基於先序 中序 後序 層序的二叉樹遍歷方式來進行修改,序列化的結果是乙個字串,序列化時通過 某種符號表示空節點...

(二叉樹)二叉樹的序列化與反序列化

序列化是將乙個資料結構或者物件轉換為連續的位元位的操作,進而可以將轉換後的資料儲存在乙個檔案或者記憶體中,同時也可以通過網路傳輸到另乙個計算機環境,採取相反方式重構得到原資料。請設計乙個演算法來實現二叉樹的序列化與反序列化。這裡不限定你的序列 反序列化演算法執行邏輯,你只需要保證乙個二叉樹可以被序列...

二叉樹的序列化與反序列化 二叉樹

序列化是將乙個資料結構或者物件轉換為連續的位元位的操作,進而可以將轉換後的資料儲存在乙個檔案或者記憶體中,同時也可以通過網路傳輸到另乙個計算機環境,採取相反方式重構得到原資料。請設計乙個演算法來實現二叉樹的序列化與反序列化。這裡不限定你的序列 反序列化演算法執行邏輯,你只需要保證乙個二叉樹可以被序列...