freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[經(jīng)濟(jì)學(xué)]第6章樹(參考版)

2025-02-22 20:54本頁(yè)面
  

【正文】 !p) Dissect(trchild,x)。 if (t!=nullamp。amp。trchild=NULL。amp。tlchild=NULL。amp。//全局變量;新樹的根結(jié)點(diǎn)。 如果樹中沒等于 x的結(jié)點(diǎn),返回空值。 返回 p。 p=trchild。 返回 p。 p=tlchild。 //進(jìn)左子樹 }} 例題 *** 147 例 4:假設(shè)二叉樹 T中至多有一個(gè)結(jié)點(diǎn)的數(shù)據(jù)域值為 x,試編寫算法拆去以該結(jié)點(diǎn)為根的子樹,使原樹中分成兩棵子樹。 if (qrchild) PUSH(S,qrchild )。 while (!IsEmpty(S)) {POP(S,q)。InitStack(S)。 // 釋放工作空間 } // HuffmanCoding *** 、赫夫曼編碼 144 赫夫曼譯碼 *** 145 返回 赫夫曼編碼 146 例 3 利用棧實(shí)現(xiàn)先序遍歷的非遞歸算法 void PreOrder( BiTree T) {BiTNode *q,*p=T。cd[start])。 HC[i] = (char *)malloc((nstart)* sizeof(char))。 else cd[start] = 39。 c=f, f=HT[f].parent) if (HT[f].lchild==c) cd[start] = 39。 // 編碼結(jié)束符位置 *** 、赫夫曼編碼 143 for (c=i, f=HT[i].parent。 i=n。 // 編碼結(jié)束符。 cd[n1] = 39。HC, int *w, int n) {HC = (HuffmanCode)malloc((n+1) * sizeof(char *))。 } 、赫夫曼編碼 142 void HuffmanCoding(HuffmanTree amp。 HT[i].rchild=s2。 HT[s2].parent=i。++i) {select(HT,i1,s1,s2)。 、赫夫曼編碼 141 for (i=n+1。++i。 //初始化 for (。i=n。 HT = (HuffmanTree)malloc((m+1) * sizeof(HTNode))。HC, float *w, int n) {if (n=1) return。 、赫夫曼編碼 140 void HuffmanCoding(HuffmanTree amp。 }HTNode,*HuffmanTree。 、赫夫曼編碼 137 .12 6 0 0 .40 9 0 0 .15 7 0 0 .08 6 0 0 .25 8 0 0 .20 7 4 1 .35 8 3 6 .60 9 5 7 1 0 2 8 1 2 3 4 5 6 7 8 9 weight parent lchild rchild HC \0 cd 1 1 1 1 \0 、赫夫曼編碼 1 1 1 1 138 .12 6 0 0 .40 9 0 0 .15 7 0 0 .08 6 0 0 .25 8 0 0 .20 7 4 1 .35 8 3 6 .60 9 5 7 1 0 2 8 1 2 3 4 5 6 7 8 9 weight parent lchild rchild HC \0 cd 1 1 1 1 \0 0 \0 、赫夫曼編碼 0 139 赫夫曼樹和赫夫曼編碼的存儲(chǔ)表示 typedef struct{ unsigned int weight。 電文的總長(zhǎng)度最短 赫夫曼樹是帶權(quán)路徑長(zhǎng)度最短的二叉樹 。 則從根結(jié)點(diǎn)到葉結(jié)點(diǎn)之間 , 沿途路徑上的分支組成的 “ 0” 或 “ 1” 代碼串就是該葉子結(jié)點(diǎn)所代表的字符編碼 , 稱為赫夫曼編碼 。 編碼過(guò)程 編碼結(jié)果: 見圖 i t ? i s ? a ? t r e e 011 10 11 011 001 11 0000 11 10 0001 010 010 、赫夫曼編碼 135 赫夫曼編碼 —— 利用赫夫曼樹得到的前綴編碼。 句子中有字符: {i, t, ?, s, a, r, e}共七個(gè)字符 。 ??niiilc1 通常我們用 di出現(xiàn)的概率來(lái)代替出現(xiàn)的次數(shù) , 設(shè) di出現(xiàn)的概率為 wi。 A,B,C,D的編碼為: 0, 00, 1, 01 A,B,C,D的編碼為: 00, 01, 10, 11 A,B,C,D的編碼為: 0, 10, 110, 111 、赫夫曼編碼 133 (4)電文長(zhǎng)度與哈夫曼樹 。 、赫夫曼編碼 132 (3)前綴編碼 。 (2)譯碼唯一性 采用不等長(zhǎng)編碼出現(xiàn)的問題 , 譯碼唯一性 。 例:設(shè)電文中只用了 A,B,C,D四個(gè)字母; 采用二位編碼為 00, 01, 10, 11; 電文為 “ ACDACAB” 的二進(jìn)制代碼串:00101100100001; 總長(zhǎng)為 14位,對(duì)方接收后可按二位一分進(jìn)行譯碼。 F中刪除先前所選取的兩棵二叉樹 , 并把新構(gòu)成的二叉樹加入到 F中; b, c兩步 , 直到 F中只剩下一棵二叉樹 。 、最優(yōu)二叉樹 (赫夫曼樹 ) 125 n個(gè)葉結(jié)點(diǎn),按上述構(gòu)造方法,樹中共有多少個(gè)結(jié)點(diǎn)? 、最優(yōu)二叉樹 (赫夫曼樹 ) 126 n個(gè)權(quán)值 {w1,w2,…… ,wn}構(gòu)成具有 n棵二叉樹的森林 (集合 )F={T1, T2, …… ,Tn}, 其中每棵二叉樹 Ti只有一個(gè)權(quán)為 wi的結(jié)點(diǎn) (根結(jié)點(diǎn) ,無(wú)左右子樹 )。 (a)WPL=7*2+5*2+2*2+4*2=36 (b)WPL=7*3+5*3+2*1+4*2=46 (c)WPL=7*1+5*2+2*3+4*3=35 、最優(yōu)二叉樹 (赫夫曼樹 ) 124 (赫夫曼算法 ) (1)構(gòu)造赫夫曼樹的基本思想 假設(shè)由權(quán)值分別為 W1, W2…… Wn的 n個(gè)葉子結(jié)點(diǎn)組成一棵二叉樹 。 122 A B C D F v 3 2+3 2+2 3+3 2+3 2+2 3=36 2 2 3 2 2 3 樹的帶權(quán)路徑長(zhǎng)度: 所有葉結(jié)點(diǎn)的帶權(quán)路徑長(zhǎng)度之和 。 ** 、森林與二叉樹的轉(zhuǎn)換 116 3. 二叉樹到樹或森林的轉(zhuǎn)換 方法: (1) 若二叉樹中某結(jié)點(diǎn)是其雙親結(jié)點(diǎn)的左孩子 , 則該結(jié)點(diǎn)的右孩子 , 右孩子的右孩子 …… 都與該結(jié)點(diǎn)的雙親結(jié)點(diǎn)連線; (2) 去掉右孩子與原雙親結(jié)點(diǎn)的連線; 若是轉(zhuǎn)換成森林 , 還要將與根相連的右孩子連線去掉 。 邏輯描述有何不同? 、森林與二叉樹的轉(zhuǎn)換 115 2. 森林到二叉樹的轉(zhuǎn)換 森林即有若干棵樹 。 (2)以根為軸心 , 將樹按順時(shí)針方向旋轉(zhuǎn) 45度 ,就轉(zhuǎn)化成了相應(yīng)的二叉樹 。 } CSNode, *CSTree。 typedef struct CSNode{ Elem data。 // 結(jié)點(diǎn)數(shù)和根結(jié)點(diǎn)的位置 } CTree。 雙親結(jié)點(diǎn)結(jié)構(gòu) 樹的存儲(chǔ)結(jié)構(gòu) 111 typedef struct { CTBox nodes[MAX_TREE_SIZE]。 ChildPtr firstchild。 } *ChildPtr。 樹的存儲(chǔ)結(jié)構(gòu) *** 109 孩子鏈表表示法 0 1 2 3 4 5 6 7 8 9 R A B C D E F G H K 1 2 3 ^ 樹的存儲(chǔ)結(jié)構(gòu) 110 typedef struct CTNode { int child。 int r,n。 // 雙親位置域 } PTNode。 } } 線索二叉樹 (穿線樹 ) A B C D F E G H I k j 105 樹的定義和基本術(shù)語(yǔ) 二叉樹 二叉樹的定義 二叉樹的性質(zhì) 二叉樹的存儲(chǔ)結(jié)構(gòu) 遍歷二叉樹與線索二叉樹 遍歷二叉樹 線索二叉樹 樹和森林 ** 樹與等價(jià)問題 赫夫曼樹及其應(yīng)用 ** 回溯法與樹的遍歷 ** 樹的計(jì)數(shù) 第 6章 樹和二叉樹 106 、樹和森林 樹的存儲(chǔ)結(jié)構(gòu) 雙親表示法 孩子鏈表表示法 樹的二叉鏈表存儲(chǔ)表示法 在不同的存儲(chǔ)結(jié)構(gòu)上討論二種操作的優(yōu)缺點(diǎn) 找父結(jié)點(diǎn) 找孩子結(jié)點(diǎn) 107 雙親表示法 R A B C D E F G H K 1 0 0 0 1 1 3 6 6 6 0 1 2 3 4 5 6 7 8 9 樹的存儲(chǔ)結(jié)構(gòu) 108 typedef struct PTNode { Elem data。 while (qRTag==0) q=qrchild。 if (pLTag==1) return (plchild)。 free(T)。 } A B C D F E G H I k j 三、線索二叉樹 (穿線樹 ) 101 A B C D F E G H I k j 三、線索二叉樹 (穿線樹 ) 例 p的后序前趨和后序后繼 : (2)查找后繼: a、 若 p沒有右子樹; b、 若 p有右子樹; 102 例 1 刪除二叉鏈表存儲(chǔ)的二叉樹的遞歸算法 void DestroyBiTree ( BiTree T ) { if ( T) { DestroyBitree ( Tlchild )。 } A B C D F E G H I k j 三、線索二叉樹 (穿線樹 ) 99 例 p的后序前趨和后序后繼 : (1)查找前趨: a、 若 p沒有左子樹; b、 若 p有左子樹; 三、線索二叉樹 (穿線樹 ) A B C D F E G H I k j 100 后序查找前趨: BiThrTree Postordernext(BiThrTree p) { if (pRTag==0) return (prchild)。 } } A B C D F E G H I k j 三、線索二叉樹 (穿線樹 ) 96 例 p的前序前趨和前序后繼 : (1)查找前趨: a、 若 p沒有左子樹; b、 若 p有左子樹; 三、線索二叉樹 (穿線樹 ) A B C D F
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1