struct treenode
};
treenode是經典的二叉樹節點,在資料的序列化和反序列按照層遍歷來處理的。
以上二叉樹會被序列化為
1:root節點1,是第一層
2,3:然後第二層是2,3
#,#,4,#:第三層分別是2節點的兩個孩子節點空,用#來表示,然後3節點的左孩子為4,右孩子節點為#
#,5:第四層4節點的左孩子是空,右孩子為5
最後一層5節點的兩個空孩子不便利
單鏈表結構,格式,每個鍊錶節點乙個數字,從頭到尾排布,通過,分開。
struct treelinknode
};
在treenode的基礎上,額外橫向增加乙個鏈結節點,資料的序列化格式在treenode的基礎上,額外增加next節點的資料,圖中紅色鏈路為next
上圖中2節點的next為3節點,以上鏈結二叉樹會被序列化為
struct randomlistnode
};
在listnode基礎上,額外增加乙個random的鏈結節點,資料的序列化格式在listnode的基礎上,額外增加random節點的資料,圖中紅色鏈路為random
上圖對應測試資料為 ,前五個數字是鍊錶節點,後五個數字表示各個節點的random的鏈結點
struct undirectedgraphnode
};
無向圖里每個節點都有乙個 唯一的數字id ,每個節點的序列化通過儲存,每個節點第乙個元素後跟隨的是這個節點連線的其他節點,所有節點根據label從小到大輸出,以下圖
上圖中注意2節點還鏈結到自己節點,上圖對應測試資料為,從小到大0,1,2三個節點
高階資料結構
與普通佇列的區別 1.保證每次取出的元素時佇列中優先順序最高的 2.優先級別可自定義 場景 從雜亂無序的資料中按照一定的順序 或者優先順序 篩選資料 本質 1.二叉堆的結構,堆在英文裡叫binary heep 2.利用乙個陣列結構來實現完全二叉樹 特性 1.陣列裡的第乙個元素array 0 擁有最高...
高階資料結構c
動態查詢字首和 vector int bits 放樹狀陣列 int n 原陣列的大小 1表示樹狀陣列的大小,為什麼要 1呢,因為樹狀陣列多了乙個前0個數的和 intquery int x void add int i,int x 功能比樹狀陣列多一點 const int e 100006 struc...
MATLAB 高階資料結構 table
第一種根據變數名 var 構造表,所有變數的行數必須相同 第二種為 建立空間,sz 為行向量,指定維數,例如 4,3 表示 4 行 3 列 vartypes為資料型別元胞陣列。sz 4 3 vartypes t table size sz,variabletypes vartypes t table...