#include
#include
#include
typedef
struct
htnode;
htnode sss[26]
;int sum=0;
void
htcd
(char str)
}if(flag==0)
}for
(i=0
;i) m=(2
*sum)-1
;for
(i=0
;i)for
(;i<=m;i++
)for
(i=0
;i) counter=sum;
for(i=sum;ifor(j=
0;jcounter++
; sss[min1s1]
.parent=i;
sss[min2s2]
.parent=i;
sss[i]
.lchild=min1s1;
sss[i]
.rchild=min2s2;
sss[i]
.weight=sss[min1s1]
.weight+sss[min2s2]
.weight;
}printf
("建好後的樹為:\n");
for(j=
0;j)strrev
(tempcd)
;strcpy
(sss[j]
.cd,tempcd)
;strcpy
(tempcd,voidone);}
for(j=
0;j)printf
("原始碼編碼後為:");
for(i=
0;str[i]
!='\0'
;i++)}
printf
("\n");
}void
httra
(char str)
j++;}
}int
main()
if((fp=
fopen
("d:\\code.txt"
,"w"))
==null
)printf
("開啟檔案失敗,不能輸出編碼字典\n");
else
if(process==1)
rewind
(fp)
;fclose
(fp);}
if((fp=
fopen
("d:\\resultfile.txt"
,"w"))
==null
)printf
("開啟檔案失敗,不能輸出編碼\n");
else
if(process==1)
}fprintf
(fp,
"2")
;rewind
(fp)
;fclose
(fp)
;printf
("編碼已寫好\n");
}printf
("請輸入要進行解碼的檔案的路徑\n");
scanf
("%s"
,&acc);if
((fp=
fopen
(acc,
"r"))==
null
)printf
("開啟檔案失敗,不能讀取解碼");
else
if(process==1)
}
字典樹C語言實現
又稱單詞查詢樹,trie樹,是一種 樹形結構,是一種雜湊樹的變種。典型應用是用於統計,排序和儲存大量的 字串 但不僅限於字串 所以經常被搜尋引擎系統用於文字詞頻統計。它的優點是 利用字串的公共字首來減少查詢時間,最大限度地減少無謂的字串比較,查詢效率比 雜湊樹高。include include de...
佇列實現霍夫曼樹
前面一節我們知道了,怎樣去建立乙個哈夫曼樹,這一節我們來看看哈夫曼編碼。思想 得到哈夫曼樹後,自頂向下按路徑編號,指向左節點的邊編號0,指向右節點的邊編號1,從根到葉節點的所有邊上的0和1連線起來,就是葉子節點中字元的哈夫曼編碼。下圖體現了哈夫曼編碼的過程 哈夫曼樹結點 typedef struct...
C語言實現哈夫曼樹
include include typedef struct nodebinode void show binode root if root r null 哈夫曼樹 void a1 權值陣列,為方便直接從小到大有序 int n 6,x,y,z,i,j binode root null binode...