原文出處:
這些天明白了乙個道理,搞技術也是需要激情的。
也不知道為什麼這段過的感覺特別的不爽,也不知道是因為快要考試了,心裡沒底,而帶來的恐懼,還是
搞技術太久,心裡想放個假,總之是過的暈暈乎乎,做事情也總是反應遲鈍,思維也不快,我爸媽說我是因為睡
不夠,但是我覺得我一晚上睡6個半小時,也不算短了。真不知道這樣的感覺還要持續多久。
習慣了,下課就做到電腦前,習慣了,晚上乙個人回宿舍,習慣了,餓了隨便吃點,習慣了,乙個人鑽研。
當一切開始成為了定式,總覺得生活變的簡單。有一些人羨慕我,覺得我有很好的環境學技術。
但是我現在也不覺得我有什麼好自滿的東西。不過是個再普通不過的走在技術道路上的菜鳥。
心裡有千萬般的無奈,心裡有數不清的彷徨。
我渴望曾經的激情。
其實我也不想說那麼多,耽誤看帖人的時間,但是心裡總有些不吐不快。
師兄總是開玩笑的說我現在開始「淡定了」。
朋友們也覺得我越來越「沉默了」。
現在也不敢想以後會成什麼樣子,一切都未知。
我不想到了以後「生無可戀,死無可依」(這是乙個老程式設計師的感悟)。
但是我不能停止,停止就是倒退。
好啦,不羅嗦了,下面是我的程式:
#include#define maxvalue 100000
using namespace std;
const int n=4;//葉子節點個數
//構造哈夫曼樹結點
typedef structhnodetype;
hnodetype hfmtree[2*n-1];//結點數
//構造哈夫曼編碼陣列
typedef structhcodetype;
hcodetype hfmcode[n];
//建立哈夫曼樹
void createhfmtree(hnodetype hfmtree,int n)
cout<<"請輸入結點權值:"<>hfmtree[i].weight;
}for(i=0;i
這個是雛形,下面我們要實現的功能是,輸入乙個含有n位a,b,c,d四種字母的字串。
然後轉換成只含有0,1的**串。之所以要使用哈夫曼樹是因為哈夫曼樹是最優樹。根據權值來實現最短編碼。
下面是實現自動轉碼的程式:
#include#define maxvalue 100000
using namespace std;
const int n=4;//葉子節點個數
string l;
int size;
//構造哈夫曼樹結點
typedef structhnodetype;
hnodetype hfmtree[2*n-1];//結點數
//構造哈夫曼編碼陣列
typedef structhcodetype;
hcodetype hfmcode[n];
//建立哈夫曼樹
void createhfmtree(hnodetype hfmtree,int n)
cout<<"*******************哈夫曼樹字串最優轉碼程式***********************"<>l;
std::string str(l);
size=str.size();
for(int i=0;i}for(i=0;ielse if(hfmtree[j].parent==-1&&hfmtree[j].weight}
hfmtree[m1].parent=n+i;hfmtree[m2].parent=n+i;
hfmtree[n+i].weight=hfmtree[m1].weight+hfmtree[m2].weight;
hfmtree[n+i].lchild=m1;
hfmtree[n+i].rchild=m2;}}
//轉化編碼
void createhfmcode(hnodetype hfmtree,hcodetype hfmcode)
for(j=cd.start+1;jhfmcode[i].bit[j]=cd.bit[j];
hfmcode[i].start=cd.start+1;}}
//主函式
int main()
k++;
cout<}cout<<"轉碼後的字串為:"
size=str.size();
for(int i=0;ielse if(str.at(i)=='b')
else if(str.at(i)=='c')
else if(str.at(i)=='d')
else
}return 0;
}
資料結構與演算法 哈夫曼樹(原始碼)!
include iostream define maxvalue 100000 using namespace std const intn 4 葉子節點個數 構造哈夫曼樹結點 typedef struct hnodetype hnodetype hfmtree 2 n 1 結點數 構造哈夫曼編碼陣...
資料結構 哈夫曼樹與哈夫曼編碼
1 路徑 由乙個結點到另乙個結點之間的所有分支共同構成。2 路徑長度 結點之間的分支數目。3 樹的路徑長度 從樹的根結點到其他所有結點的路徑長度之和。4 權 賦予某一實體的值。在資料結構中,實體包括結點和邊,所以對應有結點權和邊權。5 結點的帶權路徑長度 結點與樹的根結點之間的路徑長度與結點權的乘積...
資料結構 哈夫曼樹與哈夫曼編碼
include pch.h include 哈夫曼樹類huffmantree的定義 huffman樹結點類treenode宣告 template class t class huffmannode 建構函式 huffmannode getleft void const void setleft hu...