亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 哈夫曼編碼器.c

?? 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——迷宮問題和哈夫曼編碼器
?? C
字號(hào):

#include<string.h> 
#include<stdlib.h> 
#include<stdio.h> 

int m,s1,s2; 

typedef struct { 
unsigned int weight; 
unsigned int parent,lchild,rchild; 
}HTNode,*HuffmanTree; //動(dòng)態(tài)分配數(shù)組存儲(chǔ)哈夫曼樹 
typedef char *HuffmanCode; //動(dòng)態(tài)分配數(shù)組存儲(chǔ)哈夫曼編碼表 

void Select(HuffmanTree HT,int n) { 
int i,j; 
for(i = 1;i <= n;i++) 
if(!HT[i].parent){s1 = i;break;} 
for(j = i+1;j <= n;j++) 
if(!HT[j].parent){s2 = j;break;} 
for(i = 1;i <= n;i++) 
if((HT[s1].weight>HT[i].weight)&&(!HT[i].parent)&&(s2!=i))s1=i; 
for(j = 1;j <= n;j++) 
if((HT[s2].weight>HT[j].weight)&&(!HT[j].parent)&&(s1!=j))s2=j; 
} 

void HuffmanCoding(HuffmanTree HT, HuffmanCode HC[], int *w, int n) { 
// 算法6.13 
// w存放n個(gè)字符的權(quán)值(均>0),構(gòu)造哈夫曼樹HT, 
// 并求出n個(gè)字符的哈夫曼編碼HC 
int i, j; 
char *cd; 
int p; 
int cdlen; 

if (n<=1) return; 
m = 2 * n - 1; 
HT = (HuffmanTree)malloc((m+1) * sizeof(HTNode)); // 0號(hào)單元未用 
for (i=1; i<=n; i++) { //初始化 
HT[i].weight=w[i-1]; 
HT[i].parent=0; 
HT[i].lchild=0; 
HT[i].rchild=0; 
} 
for (i=n+1; i<=m; i++) { //初始化 
HT[i].weight=0; 
HT[i].parent=0; 
HT[i].lchild=0; 
HT[i].rchild=0; 
} 
puts("\n哈夫曼樹的構(gòu)造過程如下所示:"); 
printf("HT初態(tài):\n 結(jié)點(diǎn) weight parent lchild rchild"); 
for (i=1; i<=m; i++) 
printf("\n%4d%8d%8d%8d%8d",i,HT[i].weight, 
HT[i].parent,HT[i].lchild, HT[i].rchild); 
printf(" 按任意鍵,繼續(xù) ..."); 
getchar(); 
for (i=n+1; i<=m; i++) { // 建哈夫曼樹 
// 在HT[1..i-1]中選擇parent為0且weight最小的兩個(gè)結(jié)點(diǎn), 
// 其序號(hào)分別為s1和s2。 
Select(HT, i-1); 
HT[s1].parent = i; HT[s2].parent = i; 
HT[i].lchild = s1; HT[i].rchild = s2; 
HT[i].weight = HT[s1].weight + HT[s2].weight; 
printf("\nselect: s1=%d s2=%d\n", s1, s2); 
printf(" 結(jié)點(diǎn) weight parent lchild rchild"); 
for (j=1; j<=i; j++) 
printf("\n%4d%8d%8d%8d%8d",j,HT[j].weight, 
HT[j].parent,HT[j].lchild, HT[j].rchild); 
printf(" 按任意鍵,繼續(xù) ..."); 
getchar(); 
} 

//------無棧非遞歸遍歷哈夫曼樹,求哈夫曼編碼 
cd = (char *)malloc(n*sizeof(char)); // 分配求編碼的工作空間 
p = m; cdlen = 0; 
for (i=1; i<=m; ++i) // 遍歷哈夫曼樹時(shí)用作結(jié)點(diǎn)狀態(tài)標(biāo)志 
HT[i].weight = 0; 
while (p) { 
if (HT[p].weight==0) { // 向左 
HT[p].weight = 1; 
if (HT[p].lchild != 0) { p = HT[p].lchild; cd[cdlen++] ='0'; } 
else if (HT[p].rchild == 0) { // 登記葉子結(jié)點(diǎn)的字符的編碼 
HC[p] = (char *)malloc((cdlen+1) * sizeof(char)); 
cd[cdlen] ='\0'; strcpy(HC[p], cd); // 復(fù)制編碼(串) 
} 
} else if (HT[p].weight==1) { // 向右 
HT[p].weight = 2; 
if (HT[p].rchild != 0) { p = HT[p].rchild; cd[cdlen++] ='1'; } 
} else { // HT[p].weight==2,退回退到父結(jié)點(diǎn),編碼長(zhǎng)度減1 
HT[p].weight = 0; p = HT[p].parent; --cdlen; 
} 
} 
} // HuffmanCoding 
void main() { 
HuffmanTree HT;HuffmanCode *HC;int *w,n,i; 
puts("輸入結(jié)點(diǎn)數(shù):"); 
scanf("%d",&n); 
HC = (HuffmanCode *)malloc(n*sizeof(HuffmanCode)); 
w = (int *)malloc(n*sizeof(int)); 
printf("輸入%d個(gè)結(jié)點(diǎn)的權(quán)值\n",n); 
for(i = 0;i < n;i++) 
scanf("%d",&w[i]); 
HuffmanCoding(HT,HC,w,n); 
puts("\n各結(jié)點(diǎn)的哈夫曼編碼:"); 
for(i = 1;i <= n;i++) 
printf("%2d(%4d):%s\n",i,w[i-1],HC[i]); 
getchar(); 
} 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品毛片大码女人| 日韩精品一区二区三区蜜臀| av电影天堂一区二区在线| 欧美经典三级视频一区二区三区| 国产精品一区三区| 国产精品三级久久久久三级| 国产成+人+日韩+欧美+亚洲| 欧美经典三级视频一区二区三区| 91色porny蝌蚪| 五月婷婷久久综合| 2020国产精品自拍| 不卡免费追剧大全电视剧网站| 亚洲人成精品久久久久久 | 欧美一区二区三区免费观看视频 | 在线观看一区日韩| 五月婷婷激情综合| www亚洲一区| 成人av电影在线观看| 亚洲一区国产视频| 99精品欧美一区二区三区小说| 国产精品进线69影院| 欧美综合视频在线观看| 蜜臀91精品一区二区三区 | 国产欧美视频一区二区三区| 波多野结衣视频一区| 亚洲高清不卡在线| 久久精子c满五个校花| 色88888久久久久久影院按摩| 麻豆极品一区二区三区| 亚洲欧洲精品天堂一级| 亚洲男人的天堂在线aⅴ视频 | 欧洲精品视频在线观看| 久久99热这里只有精品| 亚洲乱码中文字幕| 欧美成人vps| 中文字幕日本乱码精品影院| 国产成人在线看| 亚洲国产欧美一区二区三区丁香婷| 精品国产3级a| 欧美色图第一页| jizz一区二区| 国模无码大尺度一区二区三区| 亚洲精品中文字幕在线观看| 久久亚区不卡日本| 欧美一级搡bbbb搡bbbb| 欧美视频自拍偷拍| a4yy欧美一区二区三区| 国产一区二区三区香蕉| 五月激情六月综合| 亚洲永久免费av| 亚洲欧洲日本在线| 国产日韩视频一区二区三区| 51精品国自产在线| 欧美手机在线视频| 色欧美片视频在线观看在线视频| 国产99久久久久久免费看农村| 蜜桃视频在线观看一区| 亚洲电影一区二区三区| 亚洲日本va在线观看| 日本一区二区三区视频视频| 亚洲精品一区二区三区在线观看 | 久久一区二区三区国产精品| 91麻豆精品国产自产在线| 色老头久久综合| 成人免费观看av| 99久久精品免费看国产| 青青草国产成人av片免费| 亚洲欧美偷拍三级| 亚洲欧洲中文日韩久久av乱码| 久久精品一二三| 久久毛片高清国产| 久久久久久久久久美女| 久久影视一区二区| 久久男人中文字幕资源站| 久久婷婷综合激情| 久久久久久电影| 国产日韩欧美麻豆| 国产日本欧洲亚洲| 国产日产欧产精品推荐色| 日本一区二区三区在线不卡| 国产精品天干天干在线综合| 国产日韩影视精品| 国产精品免费免费| 亚洲欧洲中文日韩久久av乱码| 亚洲男人的天堂在线观看| 一区二区高清在线| 久久久噜噜噜久噜久久综合| 精品少妇一区二区三区| 久久网站最新地址| 国产精品人成在线观看免费| 中文字幕中文字幕一区二区| 亚洲欧美二区三区| 亚欧色一区w666天堂| 美女国产一区二区| 国产一区二区三区日韩| 成人国产精品免费| 色天使色偷偷av一区二区| 欧美绝品在线观看成人午夜影视| 欧美一区二区久久| 久久久国产综合精品女国产盗摄| 精品在线观看视频| 国产一区在线观看麻豆| 国产成人免费网站| 色婷婷精品久久二区二区蜜臀av| 欧美日韩高清影院| 欧美精品一区二区在线观看| 国产精品免费视频一区| 偷拍一区二区三区| 国产一本一道久久香蕉| 一本到不卡免费一区二区| 91精品国产综合久久久久久| 久久精品一区二区三区不卡| 亚洲综合一区二区三区| 欧美va亚洲va在线观看蝴蝶网| 欧美一卡在线观看| 日本一区二区三区dvd视频在线| 亚洲乱码国产乱码精品精的特点| 日本欧洲一区二区| 丁香桃色午夜亚洲一区二区三区| 欧洲另类一二三四区| 久久综合九色综合久久久精品综合| 综合久久综合久久| 激情成人综合网| 欧美综合亚洲图片综合区| 久久九九影视网| 偷拍亚洲欧洲综合| 91小宝寻花一区二区三区| 欧美成人乱码一区二区三区| 亚洲欧美激情一区二区| 韩国v欧美v日本v亚洲v| 欧美日韩免费电影| 亚洲视频1区2区| 国产成人一级电影| 日韩欧美www| 亚洲成人免费在线| 99re热这里只有精品免费视频| 欧美xxx久久| 天天综合色天天综合色h| 色综合网站在线| 国产亚洲综合性久久久影院| 日本亚洲免费观看| 欧美午夜在线观看| 日韩一区有码在线| 中文字幕一区二区5566日韩| 亚洲欧美精品午睡沙发| 国产精品99久久久久久宅男| 欧美一区午夜精品| 亚洲一区在线观看免费观看电影高清 | 亚洲综合激情另类小说区| 国产精品一级片在线观看| 一二三四区精品视频| 99久久久精品免费观看国产蜜| 久久久久久一二三区| 久久精品二区亚洲w码| 538在线一区二区精品国产| 午夜伦欧美伦电影理论片| 欧美少妇一区二区| 一级精品视频在线观看宜春院 | 色婷婷亚洲综合| 国产精品女主播av| 成人免费观看视频| 中日韩免费视频中文字幕| 成人网在线播放| 中文字幕久久午夜不卡| 岛国精品一区二区| 日本一二三不卡| 成人精品视频一区二区三区| 国产精品女同互慰在线看| 成人综合激情网| 亚洲欧洲在线观看av| a4yy欧美一区二区三区| 亚洲免费电影在线| 欧美午夜影院一区| 石原莉奈在线亚洲二区| 日韩视频一区二区在线观看| 美女高潮久久久| 久久久高清一区二区三区| www.亚洲色图.com| 伊人婷婷欧美激情| 欧美精品三级在线观看| 麻豆免费看一区二区三区| 久久久99精品久久| 91啪在线观看| 日韩国产在线观看一区| 精品成人一区二区三区四区| 成人午夜在线免费| 亚洲精品久久久久久国产精华液| 在线视频一区二区三| 蜜臀av一区二区在线免费观看| 久久综合一区二区| 99re热视频精品| 日日嗨av一区二区三区四区| 精品久久久久久无| 成人激情开心网| 天天色图综合网| 久久精品国产久精国产爱| 久久五月婷婷丁香社区| 色哟哟一区二区在线观看| 日本aⅴ免费视频一区二区三区| 国产亚洲人成网站|