廣東工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告封面_第1頁(yè)
廣東工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告封面_第2頁(yè)
廣東工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告封面_第3頁(yè)
廣東工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告封面_第4頁(yè)
廣東工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告封面_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGEPAGE1廣東工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告封面第一篇:廣東工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告封面實(shí)驗(yàn)報(bào)告課程:數(shù)字電子技術(shù)實(shí)驗(yàn)班級(jí):12電氣信息類(lèi)創(chuàng)新實(shí)驗(yàn)班學(xué)號(hào):姓名:實(shí)驗(yàn)教師:劉冰茹實(shí)驗(yàn)時(shí)間:20XX.11.20XX動(dòng)化學(xué)院實(shí)驗(yàn)2號(hào)樓214實(shí)驗(yàn)室第二篇:廣東工業(yè)大學(xué)實(shí)驗(yàn)報(bào)告AutoCAD實(shí)驗(yàn)報(bào)告課程工程制圖實(shí)驗(yàn)名稱(chēng)AutoCAD專(zhuān)業(yè)班級(jí)微電子科學(xué)與工程(1)班姓名學(xué)號(hào)311300722指導(dǎo)老師習(xí)小英20XX年12月17日一、實(shí)驗(yàn)?zāi)康亩?、?shí)驗(yàn)內(nèi)容和要求三、實(shí)驗(yàn)步驟四、實(shí)驗(yàn)心得體會(huì)第三篇:廣東工業(yè)大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告(12屆)廣東工業(yè)大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告(1)學(xué)院:自動(dòng)化專(zhuān)業(yè):12級(jí)物聯(lián)網(wǎng)3班姓名:xxx學(xué)號(hào):xxx老師:張小波實(shí)驗(yàn)日期:20XX年6月21日實(shí)驗(yàn)地點(diǎn):實(shí)二20XX成績(jī)?cè)u(píng)定:實(shí)驗(yàn)題目:求一個(gè)正整數(shù)的各位數(shù)字之和一、實(shí)驗(yàn)?zāi)康那笠粋€(gè)正整數(shù)的各位數(shù)字之和。二、實(shí)驗(yàn)軟件環(huán)境1.計(jì)算機(jī)每人一臺(tái)。2.軟件:VisualStudio20XX三、實(shí)驗(yàn)內(nèi)容#includeintfunc(intnum){ints=0;do{s+=num%10;num/=10;}while(num);return(s);}voidmain(){intn;printf(“輸入一個(gè)整數(shù):”);scanf(“%d”,&n);printf(“各位數(shù)字之和:%dn”,func(n));printf(“n”);}四、實(shí)驗(yàn)結(jié)果和分析當(dāng)輸入一個(gè)整數(shù)的時(shí)候,得出的是該整數(shù)的所有數(shù)字的和五、實(shí)驗(yàn)心得體會(huì)本實(shí)驗(yàn)過(guò)程中,感覺(jué)能用簡(jiǎn)單的方法實(shí)現(xiàn)程序就應(yīng)該用簡(jiǎn)單的,一開(kāi)始我用了多個(gè)for循環(huán),感覺(jué)沒(méi)必要,就用了do-while循環(huán),因此保持程序的簡(jiǎn)潔,精悍是最應(yīng)該的,過(guò)于冗雜的程序不僅臃腫,而且難以分析,分享。廣東工業(yè)大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告(2)學(xué)院:自動(dòng)化專(zhuān)業(yè):12級(jí)物聯(lián)網(wǎng)3班姓名:xxx學(xué)號(hào):xxx老師:張小波實(shí)驗(yàn)日期:20XX年6月21日實(shí)驗(yàn)地點(diǎn):實(shí)二20XX成績(jī)?cè)u(píng)定:實(shí)驗(yàn)題目:求兩個(gè)多項(xiàng)式的相加運(yùn)算一、實(shí)驗(yàn)?zāi)康氖煜げW(xué)會(huì)使用多項(xiàng)式的表示方法以及計(jì)算方法二、實(shí)驗(yàn)軟件環(huán)境1.計(jì)算機(jī)每人一臺(tái)。2.軟件:VisualStudio20XX三、實(shí)驗(yàn)內(nèi)容#include#include#defineMAX20XXypedefstruct{doublecoef;intexp;}PolyArray[MAX];typedefstructpnode//定義單鏈表結(jié)點(diǎn)類(lèi)型{doublecoef;intexp;}PolyNode;voidDispPoly(PolyNode*L)//輸出多項(xiàng)式{boolfirst=true;PolyNode*p=L->next;while(p!=NULL)//多項(xiàng)式最多項(xiàng)數(shù)//定義存放多項(xiàng)式的數(shù)組類(lèi)型//系數(shù)//指數(shù)//系數(shù)//指數(shù)structpnode*next;//first為true表示是第一項(xiàng){}printf(“n”);}voidDestroyList(PolyNode*&L)//銷(xiāo)毀單鏈表{PolyNode*p=L,*q=p->next;while(q!=NULL){}free(p);}voidCreateListR(PolyNode*&L,PolyArraya,intn)//尾插法建表{PolyNode*s,*r;inti;L=(PolyNode*)malloc(sizeof(PolyNode));//創(chuàng)建頭結(jié)點(diǎn)L->next=NULL;r=L;{}r->next=NULL;}voidSort(PolyNode*&head){PolyNode*p=head->next,*q,*r;if(p!=NULL)if(first)first=false;printf(“+”);printf(“%g”,p->coef);printf(“%gx”,p->coef);printf(“%gx^%d”,p->coef,p->exp);elseif(p->coef>0)if(p->exp==0)elseif(p->exp==1)elsep=p->next;free(p);p=q;q=p->next;//r始終指向終端結(jié)點(diǎn),開(kāi)始時(shí)指向頭結(jié)點(diǎn)for(i=0;icoef=a[i].coef;s->exp=a[i].exp;r->next=s;r=s;//終端結(jié)點(diǎn)next域置為NULL//按exp域遞減排序//將*s插入*r之后//若原單鏈表中有一個(gè)或以上的數(shù)據(jù)結(jié)點(diǎn){}}voidAdd(PolyNode*ha,PolyNode*hb,PolyNode*&hc)//求兩有序集合的并{PolyNode*pa=ha->next,*pb=hb->next,*s,*tc;doublec;hc=(PolyNode*)malloc(sizeof(PolyNode));tc=hc;while(pa!=NULL&&pb!=NULL){r=p->next;p=r;//r保存*p結(jié)點(diǎn)后繼結(jié)點(diǎn)的指針p->next=NULL;while(p!=NULL){}r=p->next;q=head;//構(gòu)造只含一個(gè)數(shù)據(jù)結(jié)點(diǎn)的有序表//r保存*p結(jié)點(diǎn)后繼結(jié)點(diǎn)的指針while(q->next!=NULL&&q->next->exp>p->exp)q=q->next;//在有序表中找插入*p的前驅(qū)結(jié)點(diǎn)*qp->next=q->next;//將*p插入到*q之后q->next=p;p=r;//創(chuàng)建頭結(jié)點(diǎn)if(pa->exp>pb->exp){}elseif(pa->expexp){}else{c=pa->coef+pb->coef;if(c!=0){s=(PolyNode*)malloc(sizeof(PolyNode));//復(fù)制結(jié)點(diǎn)s->exp=pa->exp;s->coef=c;tc->next=s;tc=s;//系數(shù)之和不為0時(shí)創(chuàng)建新結(jié)點(diǎn)//pa->exp=pb->exps=(PolyNode*)malloc(sizeof(PolyNode));//復(fù)制結(jié)點(diǎn)s->exp=pb->exp;s->coef=pb->coef;tc->next=s;tc=s;pb=pb->next;s=(PolyNode*)malloc(sizeof(PolyNode));//復(fù)制結(jié)點(diǎn)s->exp=pa->exp;s->coef=pa->coef;tc->next=s;tc=s;pa=pa->next;}}}pa=pa->next;pb=pb->next;if(pb!=NULL)pa=pb;//復(fù)制余下的結(jié)點(diǎn)while(pa!=NULL){}tc->next=NULL;}voidmain(){PolyNode*ha,*hb,*hc;PolyArraya={{1.2,0},{2.5,1},{3.2,3},{-2.5,5}};PolyArrayb={{-1.2,0},{2.5,1},{3.2,3},{2.5,5},{5.4,10}};CreateListR(ha,a,4);CreateListR(hb,b,5);printf(“原多項(xiàng)式A:”);DispPoly(ha);printf(“原多項(xiàng)式B:”);DispPoly(hb);Sort(ha);Sort(hb);printf(“有序多項(xiàng)式A:”);DispPoly(ha);printf(“有序多項(xiàng)式B:”);DispPoly(hb);Add(ha,hb,hc);printf(“多項(xiàng)式相加:”);DispPoly(hc);DestroyList(ha);DestroyList(hb);DestroyList(hc);}s=(PolyNode*)malloc(sizeof(PolyNode));//復(fù)制結(jié)點(diǎn)s->exp=pa->exp;s->coef=pa->coef;tc->next=s;tc=s;pa=pa->next;四、實(shí)驗(yàn)結(jié)果和分析五、實(shí)驗(yàn)心得體會(huì)本實(shí)驗(yàn)過(guò)程中,我進(jìn)一步了解了單鏈表的各種操作以及對(duì)應(yīng)的函數(shù)的使用方法,以及學(xué)會(huì)熟練調(diào)用函數(shù)來(lái)實(shí)現(xiàn),比較深刻地體會(huì)到了使用單鏈表的好處和方便。廣東工業(yè)大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告(3)學(xué)院:自動(dòng)化專(zhuān)業(yè):12級(jí)物聯(lián)網(wǎng)3班姓名:xxx學(xué)號(hào):xxx老師:張小波實(shí)驗(yàn)日期:20XX年6月21日實(shí)驗(yàn)地點(diǎn):實(shí)二20XX成績(jī)?cè)u(píng)定:實(shí)驗(yàn)題目:病人看病模擬程序一、實(shí)驗(yàn)?zāi)康恼莆枕樞驐R约把h(huán)隊(duì)列的使用。二、實(shí)驗(yàn)軟件環(huán)境1.計(jì)算機(jī)每人一臺(tái)。2.軟件:VisualStudio20XX三、實(shí)驗(yàn)內(nèi)容#include#includetypedefstructqnode{intdata;structqnode*next;}QNode;{QNode*front,*rear;}QuType;{QNode*p,*q;p=qu->front;if(p!=NULL){//鏈隊(duì)節(jié)點(diǎn)類(lèi)型typedefstruct//鏈隊(duì)類(lèi)型voidDestroyqueue(QuType*&qu)//釋放鏈隊(duì)//若鏈隊(duì)不空q=p->next;while(q!=NULL)//釋放隊(duì)中所有的節(jié)點(diǎn){free(p);p=q;q=q->next;}free(p);}free(qu);//釋放鏈隊(duì)節(jié)點(diǎn)}voidSeeDoctor(){intsel,flag=1,find,no;QuType*qu;QNode*p;qu=(QuType*)malloc(sizeof(QuType));//創(chuàng)建空隊(duì)qu->front=qu->rear=NULL;while(flag==1)//循環(huán)執(zhí)行{printf(“1:排隊(duì)2:就診3:查看排隊(duì)4.不再排隊(duì),余下依次就診5:下班scanf(”%d“,&sel);switch(sel){case1:printf(”>>輸入病歷號(hào):“);do{scanf(”%d“,&no);find=0;p=qu->front;while(p!=NULL&&!find){if(p->data==no)find=1;elsep=p->next;}if(find)printf(”>>輸入的病歷號(hào)重復(fù),重新輸入:“);}while(find==1);p=(QNode*)malloc(sizeof(QNode));//創(chuàng)建節(jié)點(diǎn)p->data=no;p->next=NULL;if(qu->rear==NULL)//第一個(gè)病人排隊(duì)qu->front=qu->rear=p;else{qu->rear->next=p;qu->rear=p;//將*p節(jié)點(diǎn)入隊(duì)}請(qǐng)選擇:”);break;//隊(duì)空//隊(duì)不空{(diào)p=qu->front;printf(“>>病人%d就診n”,p->data);if(qu->rear==p)//只有一個(gè)病人排隊(duì)的情況qu->front=qu->rear=NULL;printf(“>>沒(méi)有排隊(duì)的病人!n”);case2:if(qu->front==NULL)elseelsequ->front=p->next;free(p);break;//隊(duì)空//隊(duì)不空printf(“>>沒(méi)有排列的病人!n”);}case3:if(qu->front==NULL)else{}break;p=qu->front;printf(“>>排隊(duì)病人:”);while(p!=NULL){}printf(“n”);printf(“%d”,p->data);p=p->next;case4:if(qu->front==NULL)//隊(duì)空//隊(duì)不空printf(“>>沒(méi)有排列的病人!n”);else{}Destroyqueue(qu);flag=0;break;//隊(duì)不空printf(“>>請(qǐng)排隊(duì)的病人明天就醫(yī)!n”);//釋放鏈隊(duì)//退出p=qu->front;printf(“>>病人按以下順序就診:”);while(p!=NULL){}printf(“n”);printf(“%d”,p->data);p=p->next;case5:if(qu->front!=NULL)}voidmain(){SeeDoctor();}}flag=0;break;//退出//釋放鏈隊(duì)Destroyqueue(qu);}四、實(shí)驗(yàn)結(jié)果和分析五、實(shí)驗(yàn)心得體會(huì)本實(shí)驗(yàn)過(guò)程中,要求考慮的情況較多,在循環(huán)隊(duì)列中使用指針的使用過(guò)程中對(duì)空的這種情況還是欠缺考慮,所以以后在進(jìn)行循環(huán)隊(duì)列使用中務(wù)必要記得考慮對(duì)空的情況。廣東工業(yè)大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告(4)學(xué)院:自動(dòng)化專(zhuān)業(yè):12級(jí)物聯(lián)網(wǎng)3班姓名:xxx學(xué)號(hào):xxx老師:張小波實(shí)驗(yàn)日期:20XX年6月21日實(shí)驗(yàn)地點(diǎn):實(shí)二20XX成績(jī)?cè)u(píng)定:實(shí)驗(yàn)題目:文本串加密和解密程序一、實(shí)驗(yàn)?zāi)康恼莆枕樞驐R约把h(huán)隊(duì)列的使用。二、實(shí)驗(yàn)軟件環(huán)境1.計(jì)算機(jī)每人一臺(tái)。2.軟件:VisualStudio20XX三、實(shí)驗(yàn)內(nèi)容lgo4-1.cpp#include#defineMaxSize100typedefstruct{chardata[MaxSize];}SqString;voidStrAssign(SqString&s,charcstr[])//s為引用型參數(shù){}voidStrCopy(SqString&s,SqStringt){}boolStrEqual(SqStrings,SqStringt)//最多的字符個(gè)數(shù)//定義可容納MaxSize個(gè)字符的空間intlength;//標(biāo)記當(dāng)前實(shí)際串長(zhǎng)inti;s.data[i]=cstr[i];for(i=0;cstr[i]!='';i++)s.length=i;//s為引用型參數(shù)inti;s.data[i]=t.data[i];for(i=0;i{boolsame=true;//長(zhǎng)度不相等時(shí)返回0inti;if(s.length!=t.length)}intStrLength(SqStrings){returns.length;}SqStringConcat(SqStrings,SqStringt){SqStringstr;inti;str.length=s.length+t.length;for(i=0;i}SqStringSubStr(SqStrings,inti,intj){SqStringstr;intk;str.length=0;if(i<=0||i>s.length||j<0||i+j-1>s.length)returnstr;//參數(shù)不正確時(shí)返回空串for(k=i-1;kstr.length=j;returnstr;}SqStringInsStr(SqStrings1,inti,SqStrings2){intj;SqStringstr;str.length=0;if(i<=0||i>s1.length+1)//參數(shù)不正確時(shí)返回空串returnstr;//將s1.data[0..i-2]復(fù)制到str//將s2.data[0..s2.length-1]復(fù)制到strstr.data[j]=s1.data[j];for(j=0;jfor(j=0;jsame=false;for(i=0;iif(s.data[i]!=t.data[i])//有一個(gè)對(duì)應(yīng)字符不相同時(shí)返回0{}same=false;break;elsereturnsame;str.data[i]=s.data[i];str.data[s.length+i]=t.data[i];for(i=0;i//將s.data[i..i+j]復(fù)制到strstr.data[k-i+1]=s.data[k];str.data[i+j-1]=s2.data[j];//將s1.data[i-1..s1.length-1]復(fù)制到strstr.data[s2.length+j]=s1.data[j];for(j=i-1;js.length||i+j>s.length+1)//參數(shù)不正確時(shí)返回空串returnstr;//將s.data[0..i-2]復(fù)制到strstr.data[k]=s.data[k];str.data[k-j]=s.data[k];for(k=0;kfor(k=i+j-1;ks.length||i+j-1>s.length)//參數(shù)不正確時(shí)返回空串returnstr;//將s.data[0..i-2]復(fù)制到str//將t.data[0..t.length-1]復(fù)制到strstr.data[k]=s.data[k];str.data[i+k-1]=t.data[k];str.data[t.length+k-j]=s.data[k];for(k=0;k}}inti;for(i=0;i0)//文件名:exp4-4.cpp#include#include#defineMaxSize100typedefstruct{chardata[MaxSize];//串長(zhǎng)intlength;}SqString;externvoidStrAssign(SqString&,char[]);//在algo4-1.cpp文件中externvoidDispStr(SqString);SqStringA,B;{inti=0,j;SqStringq;while(i}q.length=p.length;returnq;}SqStringUnEncrypt(SqStringq){inti=0,j;SqStringp;while(i}p.length=q.length;returnp;}voidmain(){SqStringp,q;intok=1;//全局串SqStringEnCrypt(SqStringp)for(j=0;p.data[i]!=A.data[j];j++);if(j>=p.length)elsei++;//在A(yíng)串中未找到p.data[i]字母//在A(yíng)串中找到p.data[i]字母q.data[i]=p.data[i];q.data[i]=B.data[j];for(j=0;q.data[i]!=B.data[j];j++);if(j>=q.length)elsei++;//在B串中未找到q.data[i]字母p.data[i]=q.data[i];//在B串中找到q.data[i]字母p.data[i]=A.data[j];StrAssign(A,“abcdefghijklmnopqrstuvwxyz”);//建立A串StrAssign(B,“ngzqtcobmuhelkpdawxfyivrsj”);//建立B串charstr[MaxSize];printf(“n”);printf(“輸入原文串:”);gets(str);//獲取用戶(hù)輸入的原文串StrAssign(p,str);//建立p串printf(“加密解密如下:n”);printf(“原文串:”);DispStr(p);q=EnCrypt(p);//p串加密產(chǎn)生q串//q串解密產(chǎn)生p串printf(“加密串:”);DispStr(q);p=UnEncrypt(q);printf(“n”);}printf(“解密串:”);DispStr(p);四、實(shí)驗(yàn)結(jié)果和分析五、實(shí)驗(yàn)心得體會(huì)串加密實(shí)際上就是對(duì)每個(gè)字符進(jìn)行一定的算法,而這個(gè)算法只有你自己知道,其他人不知道。通過(guò)該算法,我們可以進(jìn)行加密與解密工作。新技能get。廣東工業(yè)大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告(5)學(xué)院:自動(dòng)化專(zhuān)業(yè):12級(jí)物聯(lián)網(wǎng)3班姓名:xxx學(xué)號(hào):xxx老師:張小波實(shí)驗(yàn)日期:20XX年6月21日實(shí)驗(yàn)地點(diǎn):實(shí)二20XX成績(jī)?cè)u(píng)定:實(shí)驗(yàn)題目:求解n皇后問(wèn)題一、實(shí)驗(yàn)?zāi)康恼莆者f歸應(yīng)用二、實(shí)驗(yàn)軟件環(huán)境1.計(jì)算機(jī)每人一臺(tái)。2.軟件:VisualStudio20XX三、實(shí)驗(yàn)內(nèi)容#include#includeconstintN=20XX/最多皇后個(gè)數(shù)intq[N];//存放各皇后所在的列號(hào)intcount=0;//存放解個(gè)數(shù)voidprint(intn)//輸出一個(gè)解{count++;inti;printf(“第%d個(gè)解:”,count);for(i=1;i<=n;i++)}intplace(intk,intj){inti=1;while(i//i=1~k-1是已放置了皇后的行}return0;i++;return1;}voidqueen(intk,intn){intj;if(k>n)}voidmain(){intn;scanf(“%d”,&n);if(n>20XX{}printf(“%d皇后問(wèn)題求解如下:n”,n);queen(1,n);printf(“n”);printf(“n值太大,不能求解n”);else//n存放實(shí)際皇后個(gè)數(shù)printf(“皇后問(wèn)題(n<20XX=”);print(n);for(j=1;j<=n;j++)if(place(k,j)){q[k]=j;queen(k+1,n);}//所有皇后放置結(jié)束//在第k行上窮舉每一個(gè)位置//在第k行上找到一個(gè)合適位置(k,j)else//放置1-k的皇后}四、實(shí)驗(yàn)結(jié)果和分析五、實(shí)驗(yàn)心得體會(huì)遞歸應(yīng)用能夠幫我們解決很多需要重復(fù)操作的繁瑣的算法問(wèn)題,運(yùn)用遞歸我們可以省下不少的時(shí)間,能讓我們更有效率的進(jìn)行其他的工作,因此遞歸算法是十分重要的。廣東工業(yè)大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告(6)學(xué)院:自動(dòng)化專(zhuān)業(yè):12級(jí)物聯(lián)網(wǎng)3班姓名:xxx學(xué)號(hào):xxx老師:張小波實(shí)驗(yàn)日期:20XX年6月21日實(shí)驗(yàn)地點(diǎn):實(shí)二20XX成績(jī)?cè)u(píng)定:實(shí)驗(yàn)題目:求5X5階螺旋方陣一、實(shí)驗(yàn)?zāi)康恼莆站仃嚨母鞣N算法二、實(shí)驗(yàn)軟件環(huán)境1.計(jì)算機(jī)每人一臺(tái)。2.軟件:VisualStudio20XX三、實(shí)驗(yàn)內(nèi)容#include#defineMaxLen10voidfun(inta[MaxLen][MaxLen],intn){inti,j,k=0,m;if(n%2==0)//m=én/2ù{m=n/2;m=n/2+1;elsefor(i=0;i}for(j=i+1;j}}}for(j=n-i-2;j>=i;j--){}for(j=n-i-2;j>=i+1;j--){}k++;a[j][i]=k;k++;a[n-i-1][j]=k;voidmain(){intn,i,j;inta[MaxLen][MaxLen];printf(“輸入n(n<10):”);scanf(“%d”,&n);fun(a,n);printf(“%d階數(shù)字方陣如下:n”,n);for(i=0;i}}for(j=0;j四、實(shí)驗(yàn)結(jié)果和分析五、實(shí)驗(yàn)心得體會(huì)矩陣的算法在大一的時(shí)候已經(jīng)學(xué)過(guò),我們只需要熟練的運(yùn)用好循環(huán)進(jìn)行輸入就好了。廣東工業(yè)大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告(7)學(xué)院:自動(dòng)化專(zhuān)業(yè):12級(jí)物聯(lián)網(wǎng)3班姓名:xxx學(xué)號(hào):xxx老師:張小波實(shí)驗(yàn)日期:20XX年6月21日實(shí)驗(yàn)地點(diǎn):實(shí)二20XX成績(jī)?cè)u(píng)定:實(shí)驗(yàn)題目:構(gòu)造哈夫曼樹(shù)一、實(shí)驗(yàn)?zāi)康恼莆斩鏄?shù)的遍歷,構(gòu)造。以及哈夫曼樹(shù)的相關(guān)知識(shí)。二、實(shí)驗(yàn)軟件環(huán)境1.計(jì)算機(jī)每人一臺(tái)。2.軟件:VisualStudio20XX三、實(shí)驗(yàn)內(nèi)容#include#include#defineN50#defineM2*N-1typedefstruct{chardata[5];//節(jié)點(diǎn)值intweight;intparent;intlchild;intrchild;}HTNode;typedefstruct{charcd[N];intstart;}HCode;voidCreateHT(HTNodeht[],intn){inti,k,lnode,rnode;//葉子節(jié)點(diǎn)數(shù)//樹(shù)中節(jié)點(diǎn)總數(shù)//權(quán)重//雙親節(jié)點(diǎn)//左孩子節(jié)點(diǎn)//右孩子節(jié)點(diǎn)//存放哈夫曼碼intmin1,min2;for(i=0;i<2*n-1;i++){}}voidCreateHCode(HTNodeht[],HCodehcd[],intn){inti,f,c;HCodehc;for(i=0;i{}}voidDispHCode(HTNodeht[],HCodehcd[],intn)//所有節(jié)點(diǎn)的相關(guān)域置初值-1//構(gòu)造哈夫曼樹(shù)//lnode和rnode為最小權(quán)重的兩個(gè)節(jié)點(diǎn)位置ht[i].parent=ht[i].lchild=ht[i].rchild=-1;for(i=n;i<2*n-1;i++)min1=min2=32767;lnode=rnode=-1;for(k=0;k<=i-1;k++)if(ht[k].parent==-1)//只在尚未構(gòu)造二叉樹(shù)的節(jié)點(diǎn)中查找{}if(ht[k].weight}elseif(ht[k].weight}hc.start++;hcd[i]=hc;//start指向哈夫曼編碼最開(kāi)始字符if(ht[f].lchild==c)//處理左孩子節(jié)點(diǎn)hc.cd[hc.start--]='0';//處理右孩子節(jié)點(diǎn)hc.cd[hc.start--]='1';elsec=f;f=ht[f].parent;{inti,k;intsum=0,m=0,j;printf(“輸出哈夫曼編碼:n”);//輸出哈夫曼編碼for(i=0;i}printf(“平均長(zhǎng)度=%gn”,1.0*sum/m);}voidmain(){intn=15,i;char*str[]={“The”,“of”,“a”,“to”,“and”,“in”,“that”,“he”,“is”,“at”,“on”,“for”,“His”,“are”,“be”};intfnum[]={1192,677,541,518,462,450,242,195,190,181,174,157,138,124,123};HTNodeht[M];HCodehcd[N];for(i=0;i}CreateHT(ht,n);CreateHCode(ht,hcd,n);DispHCode(ht,hcd,n);}strcpy(ht[i].data,str[i]);ht[i].weight=fnum[i];j=0;printf(“%s:t”,ht[i].data);for(k=hcd[i].start;k<=n;k++){}m+=ht[i].weight

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論