資料結構第六章數和森林

2021-08-17 04:08:09 字數 1193 閱讀 3922

1.樹林:是m棵互不相交的樹所在組成的集合

2.樹的儲存結構:

優點:容易找到結點的父結點及所有祖先

缺點:找到結點的子女需要遍歷整個陣列

優點:容易找到某個結點的全部子女

缺點:很難求得某個結點的父母

(可以合併為帶雙親的孩子表示法)

typedef

struct csnodecsnode,*cstree;

優點:求根、判斷樹空、求長子、求結點的右兄弟容易

缺點:求父結點困難

3.樹、二叉樹轉化

利用孩子兄弟表示法將樹、二叉樹轉換

4.樹的遍歷

樹的先根遍歷——轉換後二叉樹的先序遍歷

樹的後根遍歷——轉換後二叉樹的後序遍歷

5.哈夫曼樹(帶權路徑長度最短的樹——最優二叉樹)

typedef struct hufmtree;

void hufman(hufmtree tree,int n)

else

tree[i].weight=9999;

}for(int i=0;i1;i++)

else

if(tree[j].weightparent==-1)

}tree[n+i].lchild=x1;

tree[n+i].rchild=x2;

tree[n+i].weight=n1+n2;

tree[x1].parent=n+i;

tree[x2].parent=n+i;}}

利用哈夫曼樹進行哈夫曼編碼

第六章 資料結構

存放同一種資料型別的多個元素的容器,通過索引 記憶體偏移量 進行元素的訪問,陣列的大小一旦確定就不能改變。陣列其實也是線性表結構,在記憶體中陣列的元素是緊挨著連續儲存的。特點 查詢快 增刪慢 舉例 定義乙個陣列 int arr new int 想在2的後面插入乙個新的元素11,這時候就需要定義乙個新...

資料結構第六章樹

第六章 樹 1.樹是n個結點的有限集。n 0時稱為空樹。在任意乙個非空樹中 1 有且僅有乙個特定的稱為根的結點 2 當n 1時,其餘節點可分為m個互不相交的有限集,其中每乙個集合又是一棵樹,並成為根的子樹。2.結點分類 結點擁有的子樹稱為結點的度。度為0的結點稱為葉結點或終端節點 度不為0的結點稱為...

資料結構筆記 第六章

一.圖的儲存結構及實現 圖可以使用兩種儲存結構,分別是鄰接矩陣和鄰接表。鄰接矩陣以矩陣的形式儲存圖所有頂點間的關係。鄰接矩陣具有以下特點 1,鄰接矩陣是正矩陣,即橫縱維數相等。2,矩陣的每一行或一列代表乙個頂點,行與列的交點對應這兩個頂點的邊。3,矩陣的點代表邊的屬性,1代表有邊,0代表無邊,所以矩...