数据结构各种算法原代码及图形示例

源代码在线查看: 算法 6.18.txt

软件大小: 1398 K
上传用户: taiyubao
关键词: 数据结构 代码 图形 算法
下载地址: 免注册下载 普通下载 VIP

相关代码

				算法 6.18
				void CreateHuffmanTree(HuffmanTree &HT,  int *w,  int n) {
				      // w存放n个权值(均>0),构造赫夫曼树HT
				      if (n				      m = 2 * n - 1;
				      HT.HTree = new HTNode[m];              // 为赫夫曼树分配一组顺序空间
				      for (p=HT.Tree, i=1; i				                    // n个带权结点形成初始化的森林,每个结点的左、右孩子为空
				      for ( ; i				      for (i=n; i				        Select(HT.Htree, i-1, s1, s2);
				                                            // 在HT.Htree[0..i-1]当前可选的结点中选择权值
				                                            // 最小的两个结点,其序号分别为s1和s2。
				        HT.Htree [i].lchild = s1;  HT.Htree[i].rchild = s2;
				        HT.Htree[i].weight = HT.Htree[s1].weight + HT.Htree[s2].weight;
				                                            // 取左、右子树根结点权值之和
				      }
				      HT.root = m-1;
				} // CreatHuffmanTree
							

相关资源