高階資料結構

2021-10-16 13:09:09 字數 1286 閱讀 5507

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...