µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

Huffman±àÂëÓëÒëÂë-Êý¾Ý½á¹¹Éè¼ÆÐÔʵÑé

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2025/7/26 20:04:37 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

³É¼¨

Êý¾Ý½á¹¹Éè¼ÆÐÔʵÑé

Huffman±àÂëÓëÒëÂë

2007120302

ѧ ºÅ 13 ÐÕ Ãû °à ¼¶

·¶ ¸ß »ª ÐÅÏ¢ 072

Éè¼ÆÐÔʵÑ顪Huffman±àÂëÓëÒëÂë

Ò»£®ÊµÑéÄ¿µÄ£º

ÔÚÕÆÎÕÏà¹Ø»ù´¡ÖªÊ¶µÄ»ù´¡ÉÏ£¬Ñ§»á×Ô¼ºÉè¼ÆÊµÑéËã·¨£¬ÊìÁ·ÕÆÎÕHuffmanÊ÷µÄ½¨Á¢·½·¨£¬Huffman±àÂëµÄ·½·¨£¬½ø¶øÉè¼Æ³öHuffmanÒëÂëËã·¨£¬²¢±à³ÌʵÏÖ¡£

¶þ¡¢ÊµÑéÒªÇó£º

ÔÚ6ѧʱÒÔÄÚ£¬ÖÆ×÷³öÄܹ»ÊµÏÖ»ùÓÚ26¸öÓ¢ÎÄ×ÖĸµÄÈÎÒâ×Ö·û´®µÄ±àÒëÂ롣д³ö¼¼Êõ¹¤×÷±¨¸æ²¢¸½Ô´³ÌÐò¡£

Èý£®ÊµÑéÄÚÈݼ°ÈÎÎñ£º

1£®Éè×Ö·û¼¯Îª26¸öÓ¢ÎÄ×Öĸ£¬Æä³öÏÖÆµ¶ÈÈçϱíËùʾ¡£ ×Ö·û ¿Õ¸ñ Ƶ¶È ×Ö·û Ƶ¶È ×Ö·û t Ƶ¶È

a 64 k 5 u 23

b 13 l 32 v 8

c 22 m 20 w 18

d 32 n 57 x 1

e 103 o 63 y 16

f 21 p 15 z 1

1

g 15 q

h 47 r 48

i 57 s 51

186 j 1

80

2£®½¨HuffmanÊ÷£» 3£®ÀûÓÃËù½¨HuffmanÊ÷¶ÔÈÎÒ»×Ö·û´®Îļþ½øÐбàÂ롪¡ª¼´Éè¼ÆÒ»¸öHuffman±àÂëÆ÷£»

4£®¶ÔÈÎÒ»×Ö·û´®ÎļþµÄ±àÂë½øÐÐÒëÂ롪¡ª¼´Éè¼ÆÒ»¸öHuffmanÒëÂëÆ÷¡£ ʵÏÖ²½Ö裺

1£®Êý¾Ý´æ´¢½á¹¹Éè¼Æ£» 2£®²Ù×÷Ä£¿éÉè¼Æ£» 3£®½¨Ê÷Ëã·¨Éè¼Æ£» 4£®±àÂëÆ÷Éè¼Æ£»

5£® ÒëÂëÆ÷Éè¼Æ£»

·ÖÎö¼°Éè¼Æ²½Öè

1. ·ÖÎöÎÊÌâ

1) Ê×ÏÈѧϰ¶þ²æÊ÷µÄ֪ʶ£¬Á˽â¶þ²æÊ÷µÄ·¾¶¡¢È¨ÊýÒÔ¼°´øÈ¨Â·¾¶³¤¶È¼ÆËã¡£ 2) ÈÏʶ»ô·òÂüÊ÷£¬Á˽â»ô·òÂüÊ÷µÄ¶¨Ò壬¹¹Ôì»ô·òÂüÊ÷¹¹ÔìËã·¨

¢Ù ÓÖ¸ø¶¨µÄn¸öȨֵ{w1£¬w2£¬w3£¬¡­¡­£¬wn}¹¹Ôì¸ù½ÚµãµÄ¶þ

²æÊ÷£¬´Ó¶øµÃµ½Ò»¸ö¶þ²æÊ÷É­ÁÖF={T1£¬T2£¬T3£¬¡­¡­Tn}¡£

¢Ú ÔÚ¶þ²æÊ÷É­Àïѡȡ¸ù½Úµãȫְ×îСºÍ´Ë×îСµÄÁ½¿Ã¶þ²æÊ÷×÷Ϊ×óÓÒ

½Úµã¹¹ÔìеĶþ²æÊ÷£¬´ËʱеĶþ²æÊ÷µÄ¸ù½ÚµãȨֵΪ×óÓÒ×ÓÊ÷Ȩֵ֮ºÍ¡£

¢Û ÔÚ¶þ²æÊ÷É­ÁÖÖÐɾ³ý×÷Ϊжþ²æÊ÷µÄ¸ù½Úµã×óÓÒ×ÓÊ÷µÄÁ½¿Ã¶þ²æÊ÷£¬

½«ÐµĶþ²æÊ÷¼ÓÈëµ½¶þ²æÊ÷É­ÁÖFÖС£

¢Ü ÖØ¸´?ºÍ?£¬µ±¶þ²æÊ÷É­ÁÖFֻʣÏÂÒ»¿Ã¶þ²æÊ÷ʱ£¬Õâ¿Ã¶þ²æÊ÷ÊÇËù

¹¹ÔìµÄ»ô·òÂüÊ÷¡£

3) Á·Ï°Í¨¹ýÆÕͨÊ÷À´¹¹Ôì»ô·òÂüÊ÷¡£ 4) ¸ù¾ÝÒÔÉÏ·ÖÎö¹ý³ÌÉè¼ÆÏàÓ¦µÄËã·¨¡£

5) Á˽â»ô·òÂüÊ÷Óë»ô·òÂü±àÂëµÄ¹ØÏµ£¬×¼±¸Éè¼ÆÏàÓ¦µÄËã·¨¡£ 2. Ëã·¨Éè¼Æ

1£® Êý¾Ý½á¹¹

»ô·òÂüÊ÷µÄ½Úµã½á¹¹ typedef struct { int weight; int flag; int parent; int leftChild; int rightChild; } HaffNode; »ô·òÂü±àÂëµÄ½á¹¹ typedef struct { unsigned int bit[MaxN]; int start; int weight; } Code;

2.Éè¼Æ¹¹Ôì»ô·òÂüÊ÷µÄËã·¨£º

void Haffman(int weight[],int n,HaffNode haffTree[])

{

int i,j,m1,m2,x1,x2; for(i=0;i<2*n-1;i++) {if(i

haffTree[i].weight=weight[i]; else

haffTree[i].weight=0; haffTree[i].parent=-1; haffTree[i].flag=0; haffTree[i].leftChild=-1; haffTree[i].rightChild=-1;} for(i=0;i

for(j=0;j

{if(haffTree[j].weight

m1=haffTree[j].weight; x1=j; }

else if(haffTree[j].weight

haffTree[x1].parent=n+i; haffTree[x2].parent=n+i; haffTree[x1].flag=1; haffTree[x2].flag=1;

haffTree[n+i].weight=haffTree[x1].weight+haffTree[x2].weight; haffTree[n+i].leftChild=x1; haffTree[n+i].rightChild=x2; } }

3.Éè¼Æ±àÂëµÄËã·¨£ºvoid HaffCode(HaffNode haffTree[],int n,Code haffCode[]) {

Code *cd=(Code *)malloc(sizeof(Code));

Huffman±àÂëÓëÒëÂë-Êý¾Ý½á¹¹Éè¼ÆÐÔʵÑé.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c4xssx4q39t7z7sh756dj_1.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©
ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top