資料結構 樹(2)

2021-10-23 03:47:32 字數 2568 閱讀 7417

樹的儲存

性質

哈夫曼樹huffman

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace datastruct2020.demo

///

/// 葉子結點 -- 字元

///

///

///

public

huffmantreenode

(char data,

int weight)

:base

(data)

///

/// 其它結點

/// 編碼

///

public

string code

///

/// 建構函式

/// 構造huffman樹

///

///

///

private

huffmantreenode

createhuffmantree

(list sources)

else

}return root;

}///

/// 建立huffman編碼的字典

///

///

///

///

private list

createhuffmandict

(string code,

huffmantreenode current)

else

return result;

}///

/// 建立huffman編碼的字典

///

///

///

private list

createhuffmandict

(huffmantreenode root)

///

/// 對字串進行編碼

///

///

///

///

public

string

stringtohuffmancode

(out list dict,

string str)

///

///

///

///

///

///

public

string

huffmancodetostring

(list dict,

string code)}}

}return result;

}///

/// 利用huffman字典對字符集進行編碼

///

///

///

///

private

string

tohuffmancode

(string source, list lst)

return result;}}

}

資料結構 樹

樹的概念 1.家族樹 在現實生活中,有入如下血統關係的家族可用樹形圖表示 張源有三個孩子張明 張亮和張麗 張明有兩個孩子張林和張維 張亮有三個孩子張平 張華和張群 張平有兩個孩子張晶和張磊。以上表示很像一棵倒畫的樹。其中 樹根 是張源,樹的 分支點 是張明 張亮和張平,該家族的其餘成員均是 樹葉 而...

資料結構 樹

1 定義 樹是一種非線性結構,是一種一對多的資料結構。分析樹的結構,我們用遞迴的方法,根結點下面又可以看做是子樹。2 樹的儲存結構 我們一般用孩子兄弟法儲存。也就是把乙個結點的左邊第乙個孩子放在此結點的左邊孩子,把此結點的右兄弟放在此結點的右邊孩子。這樣就產生了二叉樹。二叉樹和樹可以相互對應。3 二...

資料結構 樹

二叉樹性質回顧 滿二叉樹 完全二叉樹等 給定一棵二叉樹,要求分層遍歷該二叉樹,即從上到下按層次訪問該樹,每一層單獨輸出一行,每一層要求訪問的順序為從左到右。我們在遍歷的過程中將該層節點的孩子節點壓入乙個佇列,這樣就可以實現從上到下一層一層地遍歷該二叉樹。層序遍歷 並分層列印 如果不用分層的話只用佇列...