⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hfm_1.cpp

📁 一些数据结构源代码
💻 CPP
字号:
void HuffmanCoding(HuffmanTree &HT,HuffmanCode &HC,int *w,int n){ 
    //w存放n个字符权值(均>0),构造赫夫曼树HT,并求n个字符赫夫曼编码HC。
        if(n<=1) return; 
        m=2*n -1;
        HT= (HuffmanTree)malloc((m+1)*sizeof(HTNode)); //0号单元未用
        for ( p++=HT,i=1; i<=n;++i,++p, ++w) *p ={*w,0,0,0} 
        for ( ;i<=m;++i,++p) *p={0,0,0,0};
        for (i=n+1;i<=m;++i ){ //建赫夫曼树,在HT[1,…,i-1]选择parent为0且weight最小的两个结点
            Select(HT,i-1,s1,s2);
            HT[s1].parent=i;HT[s2].parent=i;HT[i].lchild=s1; HT[i].rchild=s2; 
            HT[i].veiqht =HT[s1].weight+HT[s2].weight; 
        }
    //—从叶子到根逆向求每个字符的赫夫曼编码———

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -