版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)</p><p> 注:此表格內(nèi)容中的任務(wù)要求為指導(dǎo)教師提供的課程設(shè)計(jì)要求,主要實(shí)施步驟是指課程設(shè)計(jì)的時(shí)間安排,結(jié)論是指通過課程設(shè)計(jì)得出的有關(guān)結(jié)論及課程設(shè)計(jì)不足之處或進(jìn)一步開發(fā)方向。</p><p><b> 目 錄</b></p><p><b> 1引言4</
2、b></p><p> 1.1課程設(shè)計(jì)目標(biāo)4</p><p> 1.2編程工具(編程環(huán)境)介紹5</p><p> 1.3實(shí)施時(shí)間及主要實(shí)施步驟5</p><p><b> 2需求分析5</b></p><p> 3系統(tǒng)總體設(shè)計(jì)6</p><
3、p> 4數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)7</p><p> 5詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)9</p><p> 5.1功能模塊1輸入一元多項(xiàng)式詳細(xì)設(shè)計(jì)10</p><p> 5.1.1詳細(xì)設(shè)計(jì)10</p><p> 5.1.2界面設(shè)計(jì)及測試結(jié)果10</p><p> 5.2功能模塊2 創(chuàng)建一元多項(xiàng)式 詳細(xì)設(shè)計(jì)
4、10</p><p> 5.2.1詳細(xì)設(shè)計(jì)10</p><p> 5.2.2界面設(shè)計(jì)及測試結(jié)果11</p><p> 5.3功能模塊3主菜單詳細(xì)設(shè)計(jì)11</p><p> 5.3.1詳細(xì)設(shè)計(jì)11</p><p> 5.3.2界面設(shè)計(jì)及測試結(jié)果12</p><p>
5、 5.4功能模塊4 順序存儲(chǔ)的一元多項(xiàng)式運(yùn)算 詳細(xì)設(shè)計(jì)12</p><p> 5.4.1詳細(xì)設(shè)計(jì)12</p><p> 5.4.2算法流程12</p><p> 5.4.3界面設(shè)計(jì)及測試結(jié)果13</p><p> 5.5功能模塊5順序存儲(chǔ)的一元多項(xiàng)式運(yùn)算 詳細(xì)設(shè)計(jì)13</p><p> 5
6、.5.1詳細(xì)設(shè)計(jì)13</p><p> 5.5.2算法流程13</p><p> 5.5.3界面設(shè)計(jì)及測試結(jié)果14</p><p> 6 算法分析……………………………………………………………………………(5)</p><p> 7 用戶手冊 …………………………………………….…………………………….(5&l
7、t;/p><p> 8 結(jié)論 …………………………………………………………………………………)</p><p> 9 參考文獻(xiàn)……………………………………………………………………………….</p><p> 10 附錄……………………………………………………………………………………</p><p><b> 1
8、引言</b></p><p> 課程設(shè)計(jì)目標(biāo)設(shè)計(jì)一個(gè)一元多項(xiàng)式運(yùn)算的系統(tǒng),主要包括:加減乘法的運(yùn)算。 本文是關(guān)于一個(gè)一元稀疏多項(xiàng)式計(jì)算器的問題。內(nèi)容包括輸入并建立多項(xiàng)式,多項(xiàng)式相加,多項(xiàng)式求導(dǎo),多項(xiàng)式求值以及輸出多項(xiàng)式。本文使用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)存儲(chǔ)一元稀疏多項(xiàng)式,可以方便的計(jì)算簡單的一元稀疏多項(xiàng)式的基本
9、運(yùn)算。本課程設(shè)計(jì)運(yùn)用所學(xué)的一些C++知識(shí),構(gòu)成整個(gè)計(jì)算器的形成框架。在程序中定義了各種類型的運(yùn)算的模塊,通過主程序的調(diào)用來完成他們之間的配合,進(jìn)而完善了計(jì)算器。</p><p> 編程工具(編程環(huán)境)介紹</p><p> 編程工具:Microsoft Visual C++</p><p> 編程環(huán)境:Microsoft Windows xp</p>
10、;<p> 實(shí)施時(shí)間及主要實(shí)施步驟</p><p><b> 實(shí)施時(shí)間:</b></p><p> 9月13日至9月25日</p><p><b> 基本步驟大致為:</b></p><p><b> 前期分析</b></p><p&
11、gt;<b> 中期編碼</b></p><p><b> 后期調(diào)試</b></p><p><b> 需求分析</b></p><p><b> 本問題描述</b></p><p> 本實(shí)驗(yàn)要求利用帶頭結(jié)點(diǎn)的有序鏈表實(shí)現(xiàn)任意兩個(gè)一元實(shí)系數(shù)的加減
12、乘法運(yùn)算。基本功能要求</p><p> 1.首先,根據(jù)鍵盤輸入的一元實(shí)系數(shù)多項(xiàng)式的系數(shù)與指數(shù)序列,對多項(xiàng)式進(jìn)行初始化,并按未知數(shù)x的升冪形式排序。</p><p> 2.對于從鍵盤輸入的任意兩個(gè)一元多項(xiàng)式,正確計(jì)算它們的和,差,積多項(xiàng)式,并輸出結(jié)果。</p><p><b> 測試數(shù)據(jù)</b></p><p>
13、<b> 見Test.txt</b></p><p><b> 系統(tǒng)總體設(shè)計(jì)</b></p><p> 進(jìn)入界面,系統(tǒng)提示用戶輸入多項(xiàng)式的指數(shù)和系數(shù)并選擇存儲(chǔ)方式。然后出現(xiàn)操作界面,由用戶選擇相關(guān)操作以及按照升冪還是降冪輸出。</p><p><b> 具體實(shí)現(xiàn)見流程圖:</b></p&
14、gt;<p> 本程序包括5個(gè)模塊:</p><p><b> 輸入一元多項(xiàng)式</b></p><p> 該模塊主要是用戶根據(jù)提示輸入一元多項(xiàng)式的指數(shù)和系數(shù)</p><p> 根據(jù)輸入創(chuàng)建一元多項(xiàng)式并存儲(chǔ)并且判斷是否稀疏</p><p> 該模塊主要是將輸入的一元多項(xiàng)式按順序存儲(chǔ)方式存儲(chǔ),并判斷是
15、否稀疏,如果稀疏,則轉(zhuǎn)換為鏈?zhǔn)椒绞酱鎯?chǔ)</p><p><b> 主菜單</b></p><p> 該模塊主要是顯示菜單信息,并且由用戶顯示要進(jìn)行的步驟</p><p> 順序存儲(chǔ)的一元多項(xiàng)式的加減乘法并輸出結(jié)果</p><p> 該模塊主要是實(shí)現(xiàn)多項(xiàng)式的運(yùn)算</p><p> 鏈?zhǔn)酱鎯?chǔ)
16、的一元多項(xiàng)式的加減乘法并輸出結(jié)果</p><p> 該模塊主要是實(shí)現(xiàn)多項(xiàng)式的運(yùn)算</p><p><b> 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p> 本程序主要應(yīng)用了鏈表,結(jié)構(gòu)體和類模板。用結(jié)構(gòu)體來定義多項(xiàng)式的結(jié)點(diǎn)(即每一項(xiàng)),它包含三個(gè)域,分別存放該項(xiàng)的系數(shù)、指數(shù)以及指向下一項(xiàng)結(jié)點(diǎn)的指針;用鏈表來存儲(chǔ)多項(xiàng)式,為了節(jié)省空間,只存儲(chǔ)多項(xiàng)式中系
17、數(shù)非0 的項(xiàng),用多項(xiàng)式鏈表類來實(shí)現(xiàn)設(shè)定的程序的基本功能。</p><p> 為實(shí)現(xiàn)上述功能定義一元多項(xiàng)式的抽象數(shù)據(jù)類型如下:ADT Polynomial{數(shù)據(jù)對象:D={ai |aiTermSet, i=1,2,…,m, m≥10,TermSet中的元素包含一個(gè)實(shí)系數(shù)和一個(gè)表示指數(shù)的整數(shù)}數(shù)據(jù)關(guān)系:R1={<ai-1,ai> |ai-1,aiD, 且ai-1
18、中的指數(shù)值< ai中的指數(shù)值,i=2,…,n}} ADT Polynomial</p><p><b> 定義結(jié)構(gòu)體:</b></p><p> typedef struct LNode</p><p><b> {</b></p><p> float ceof;
19、 ////系數(shù)</p><p> int expn,xs; ////指數(shù) 項(xiàng)數(shù) </p><p> struct LNode *next;</p><p> }LNode,*LinkList;</p><p> typedef struct </p><p><b> {</b>
20、</p><p> float a[N];////////下標(biāo)表示指數(shù),值表示系數(shù)//////// </p><p> int len,Nz;////////記錄多項(xiàng)式的長度,非零項(xiàng)////////////////</p><p> }polynomial;</p><p><b> 函數(shù)功能描述:</b><
21、;/p><p><b> Menu()</b></p><p><b> 操作菜單</b></p><p><b> cmp()</b></p><p><b> 對系數(shù)進(jìn)行比較</b></p><p> AddPolyn()
22、</p><p> 順序存儲(chǔ)的一元多項(xiàng)式相加</p><p> CreatPolyn()</p><p> 創(chuàng)建鏈?zhǔn)酱鎯?chǔ)的一元多項(xiàng)式</p><p><b> ADD()</b></p><p> 鏈?zhǔn)酱鎯?chǔ)的一元多項(xiàng)式相加</p><p> AscendPrin
23、t( )</p><p><b> 升冪輸出 </b></p><p> Getpoly ()</p><p> 創(chuàng)建順序存儲(chǔ)的一元多項(xiàng)式</p><p><b> LAscend()</b></p><p> 鏈?zhǔn)酱鎯?chǔ)的一元多項(xiàng)式升冪排序</p>
24、<p> PrintPolyn()</p><p> 打印鏈?zhǔn)酱鎯?chǔ)的一元多項(xiàng)式</p><p><b> 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</b></p><p> 一元多項(xiàng)式計(jì)算器各功能模塊的詳細(xì)介紹。</p><p><b> 功能模塊1詳細(xì)設(shè)計(jì)</b></p><p>
25、;<b> 詳細(xì)設(shè)計(jì)</b></p><p> 1、模塊名稱:輸入一元多項(xiàng)式</p><p> 2、功能說明:用戶根據(jù)提示輸入一元多項(xiàng)式的系數(shù)和指數(shù)</p><p> 3、輸入?yún)?shù):輸入指數(shù)和系數(shù),系數(shù)為負(fù)數(shù)就結(jié)束</p><p><b> 界面設(shè)計(jì)及測試結(jié)果</b></p>
26、<p><b> 功能模塊2詳細(xì)設(shè)計(jì)</b></p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p> 模塊名稱:根據(jù)輸入創(chuàng)建一元多項(xiàng)式并存儲(chǔ)并且判斷是否稀疏</p><p> 功能說明:主要是創(chuàng)建一元多項(xiàng)式</p><p><b> 界面設(shè)計(jì)及測試結(jié)果</
27、b></p><p><b> 功能模塊3詳細(xì)設(shè)計(jì)</b></p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p><b> 模塊名稱:主菜單</b></p><p> 功能說明:該模塊主要是顯示菜單信息,并且由用戶顯示要進(jìn)行的步驟</p>&l
28、t;p><b> 界面設(shè)計(jì)及測試結(jié)果</b></p><p><b> 功能模塊4詳細(xì)設(shè)計(jì)</b></p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p> 模塊名稱:順序存儲(chǔ)的一元多項(xiàng)式的加減乘法并輸出結(jié)果</p><p> 功能說明:該模塊主要是實(shí)現(xiàn)多項(xiàng)
29、式的運(yùn)算</p><p><b> 算法流程</b></p><p> void ADD(polynomial A,polynomial B,polynomial &M)</p><p><b> {</b></p><p> int la=A.len,lb=B.len,i;<
30、;/p><p> M.len=la>lb?la:lb;</p><p> for(i=0;i<=la&&i<=lb;i++)</p><p><b> {</b></p><p> M.a[i]=A.a[i]+B.a[i]; ///////////此處若為稀疏式,則會(huì)浪費(fèi)大量時(shí)間
31、 </p><p><b> }</b></p><p> while(i<=la) {M.a[i]=A.a[i];i++;}</p><p> while(i<=lb) {M.a[i]=B.a[i];i++;}</p><p><b> print(M);</b></
32、p><p><b> }</b></p><p> //==================================================================</p><p> ///////M(x)=A(m)-B(n)//////</p><p> void SUB(polynomia
33、l A,polynomial B,polynomial &M)</p><p><b> {</b></p><p> int la=A.len,lb=B.len,i;</p><p> M.len=la>lb?la:lb;</p><p> for(i=0;i<=la&&i&
34、lt;=lb;i++)</p><p><b> {</b></p><p> M.a[i]=A.a[i]-B.a[i];</p><p><b> }</b></p><p> while(i<=la) {M.a[i]=A.a[i];i++;}</p><p&g
35、t; while(i<=lb) {M.a[i]=0-B.a[i];i++;} ///////B的相反數(shù)</p><p> print(M); </p><p><b> }</b></p><p> //==========================
36、========================================</p><p> ///////M(x)=A(m)*B(n)//////</p><p> void MUL(polynomial A,polynomial B,polynomial &M)</p><p><b> {</b></p>
37、<p><b> int i,j;</b></p><p> for(i=0;i<=A.len+B.len+1;i++) M.a[i]=0; ////////////////為什么要多1 </p><p> for(i=0;i<=A.len;i++)</p><p> for(j=0;j<=B.le
38、n;j++)</p><p><b> {</b></p><p> M.a[i+j]+=A.a[i]*B.a[j];</p><p><b> }</b></p><p> M.len=A.len+B.len;</p><p> print(M); </p
39、><p><b> }</b></p><p><b> 界面設(shè)計(jì)及測試結(jié)果</b></p><p><b> 功能模塊5詳細(xì)設(shè)計(jì)</b></p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p> 模塊名稱:鏈?zhǔn)酱鎯?chǔ)的一元
40、多項(xiàng)式的加減乘法并輸出結(jié)果</p><p> 功能說明:該模塊主要是實(shí)現(xiàn)多項(xiàng)式的運(yùn)算</p><p><b> 算法流程</b></p><p> Lpolynomial AddPolyn(Lpolynomial Pa,Lpolynomial Pb)</p><p><b> { </b>
41、</p><p> float sum;</p><p> Lpolynomial ha,hb,hc,qa,qb,qc,pc;</p><p> if(Pa->xs>Pb->xs){</p><p> ha=Pb; hb=Pa;</p><p><b> }</b>&
42、lt;/p><p><b> else {</b></p><p> ha=Pa; hb=Pb; </p><p><b> }</b></p><p> hc=pc=(Lpolynomial)malloc(sizeof(LNode));</p><p> qa=ha-
43、>next; </p><p> qb=hb->next;</p><p> while((qa->next!=NULL)&&(qb->next!=NULL))</p><p><b> { </b></p><p> qc=(Lpolynomial)malloc(siz
44、eof(LNode));</p><p> qc->next=NULL;</p><p> switch(cmp(qa->expn,qb->expn))</p><p><b> {</b></p><p><b> case -1: </b></p><
45、;p> qc->ceof=qa->ceof;</p><p> qc->expn=qa->expn;</p><p> pc->next=qc; </p><p><b> pc=qc; </b></p><p> qa=qa->next; </p>&l
46、t;p><b> break;</b></p><p><b> case 0: </b></p><p> sum=qa->ceof+qb->ceof;</p><p> if(sum!=0.0)</p><p><b> {</b></p
47、><p> qc->ceof=sum; </p><p> qc->expn=qa->expn; </p><p> pc->next=qc;</p><p><b> pc=qc; </b></p><p> qa=qa->next; </p>
48、<p> qb=qb->next; </p><p><b> break;</b></p><p><b> }</b></p><p> else {free(qc); </p><p> qa=qa->next; </p><p>
49、 qb=qb->next; </p><p><b> break;</b></p><p><b> }</b></p><p><b> case 1: </b></p><p> qc->ceof=qb->ceof; </p>&
50、lt;p> qc->expn=qb->expn; </p><p> pc->next=qc; </p><p><b> pc=qc; </b></p><p> qb=qb->next; </p><p><b> break; </b></p>
51、;<p><b> }</b></p><p><b> }</b></p><p> if(qa->next!=NULL)</p><p><b> { </b></p><p> while(qa!=NULL) </p><
52、p><b> { </b></p><p> qc=(Lpolynomial)malloc(sizeof(LNode));</p><p> qc->next=NULL;</p><p> qc->ceof=qa->ceof; qc->expn=qa->expn;</p><p&g
53、t; pc->next=qc; pc=qc; qa=qa->next; </p><p><b> }</b></p><p><b> }</b></p><p><b> else </b></p><p><b> { </b>
54、</p><p> while(qb!=NULL) </p><p><b> { </b></p><p> qc=(Lpolynomial)malloc(sizeof(LNode));</p><p> qc->next=NULL;</p><p> qc->ceof=q
55、b->ceof; qc->expn=qb->expn; </p><p> pc->next=qc; pc=qc; qb=qb->next; </p><p><b> }</b></p><p><b> }</b></p><p> qc=(Lpolynom
56、ial)malloc(sizeof(LNode));</p><p> qc->next=NULL;</p><p> prints(hc);</p><p> pc->next=qc;</p><p> qc->ceof=0;</p><p> Pa=ha; Pb=hb;</p>
57、;<p><b> }</b></p><p> //==================================================================</p><p> //------------------相減,構(gòu)成和多項(xiàng)式 hc-----------------//</p><p>
58、 Lpolynomial SubtractPolyn(Lpolynomial Pa,Lpolynomial Pb)</p><p><b> {</b></p><p> float result;</p><p> Lpolynomial ha,hb,hc,qa,qb,qc,pc;</p><p> if(
59、Pa->xs>Pb->xs){ha=Pb; hb=Pa;}</p><p> else {ha=Pa; hb=Pb; }</p><p> qa=ha->next; qb=hb->next;hc=pc=(Lpolynomial)malloc(sizeof(LNode));</p><p> while((qa->next!
60、=NULL)&&(qb->next!=NULL))</p><p><b> { </b></p><p> qc=(Lpolynomial)malloc(sizeof(LNode));</p><p> qc->next=NULL;</p><p> switch(cmp(qa-&g
61、t;expn,qb->expn))</p><p><b> {</b></p><p> case -1: qc->ceof=qa->ceof; qc->expn=qa->expn;</p><p> pc->next=qc; pc=qc; qa=qa->next; break;</p&g
62、t;<p> case 0: result=qa->ceof-qb->ceof;</p><p> if(result!=0.0)</p><p><b> {</b></p><p> qc->ceof=result; qc->expn=qa->expn; pc->next=qc
63、;</p><p> pc=qc; qa=qa->next; qb=qb->next; break;</p><p><b> }</b></p><p> else free(qc); qa=qa->next; qb=qb->next; break;</p><p> case 1:
64、qc->ceof=0-qb->ceof; qc->expn=qb->expn;</p><p> pc->next=qc; pc=qc; qb=qb->next; break; </p><p><b> }</b></p><p><b> }</b></p&
65、gt;<p> if(qa->next!=NULL)</p><p><b> { </b></p><p> while(qa!=NULL) </p><p><b> { </b></p><p> qc=(Lpolynomial)malloc(sizeof(LNo
66、de));</p><p> qc->next=NULL;</p><p> qc->ceof=qa->ceof; qc->expn=qa->expn; pc->next=qc; pc=qc; qa=qa->next; </p><p><b> }</b></p><p>
67、;<b> }</b></p><p><b> else </b></p><p><b> { </b></p><p> while(qb!=NULL) </p><p><b> { </b></p><p>
68、qc=(Lpolynomial)malloc(sizeof(LNode));</p><p> qc->next=NULL;</p><p> qc->ceof=0-qb->ceof; </p><p> qc->expn=qb->expn;</p><p> cout<<qc->ceo
69、f;</p><p> pc->next=qc; pc=qc; qb=qb->next; </p><p><b> }</b></p><p><b> }</b></p><p> if(Pa->xs>Pb->xs) {for(qc=hc;qc->ne
70、xt!=NULL;qc=qc->next) qc->ceof=0-qc->ceof; qc->ceof=0-qc->ceof; cout<<qc->ceof;}</p><p> prints(hc);</p><p> Pa=ha; Pb=hb;</p><p><b> }</b><
71、;/p><p> Lpolynomial MultiplyPolyn(Lpolynomial Pa,Lpolynomial Pb)/////////////相乘,Pa構(gòu)成積多項(xiàng)式hc</p><p><b> {</b></p><p> Lpolynomial s,hc,q,p,r,ha,hb;</p><p>
72、ha=Pa; hb=Pb;</p><p> hc=(Lpolynomial)malloc(sizeof(LNode));</p><p><b> r=hc;</b></p><p> for(p=Pa->next;p!=NULL;p=p->next)</p><p> for(q=Pb->n
73、ext;q!=NULL;q=q->next)</p><p> { s=(Lpolynomial)malloc(sizeof(LNode));</p><p> s->ceof=p->ceof*q->ceof;</p><p> s->expn=p->expn+q->expn;</p><p>
74、 r->next=s;</p><p><b> r=s;</b></p><p><b> }</b></p><p> r->next=NULL;</p><p> for(int i=20; i!=0;i--) </p><p>
75、;<b> {</b></p><p> for(q=hc;q->next!=NULL;q=q->next)//合并同類項(xiàng)</p><p> for(p=q->next;p!=NULL&&p->next!=NULL;p=p->next)</p><p> if(q->expn==p-&
76、gt;next->expn)</p><p> { q->ceof=q->ceof+p->next->ceof;</p><p> r=p->next;</p><p> p->next=p->next->next; free(r);</p><p><b> }<
77、;/b></p><p><b> }</b></p><p> LAscend(hc);</p><p> prints(hc); </p><p> Pa=ha; Pb=hb;</p><p><b> }</b></p><p>
78、 計(jì)算多項(xiàng)式加減,其算法思想是相同的。以多項(xiàng)式加法為例,先對兩多項(xiàng)式排序,再將兩多項(xiàng)式的每一項(xiàng)逐項(xiàng)相加,在相加之前,先比較兩項(xiàng)的指數(shù)是否相等,若相等則將系數(shù)相加,再判斷系數(shù)是否為零,若為零則刪除,否則存儲(chǔ)在和多項(xiàng)式中。若兩項(xiàng)指數(shù)不相等,當(dāng)多項(xiàng)式pa指數(shù)大于多項(xiàng)式pb指數(shù)時(shí),則將pa結(jié)點(diǎn)副本插入到和多項(xiàng)式PolyC尾部;當(dāng)pa指數(shù)小于pb指數(shù)時(shí),則將pb結(jié)點(diǎn)副本插入到和多項(xiàng)式PolyC尾部,最后插入剩余結(jié)點(diǎn)。</p>&l
79、t;p> ?。?)計(jì)算多項(xiàng)式乘法時(shí),先判斷兩多項(xiàng)式是否為空,若為空,則返回乘多項(xiàng)式,否則要先對兩多項(xiàng)式進(jìn)行合并排序,先將兩多項(xiàng)式的第一項(xiàng)相乘,即系數(shù)相乘,指數(shù)相加,其值作為乘多項(xiàng)式的第一結(jié)點(diǎn),其后使用雙重循環(huán)將一多項(xiàng)式的每一項(xiàng)與另一多項(xiàng)式的每一項(xiàng)分別相乘,結(jié)果存到乘多項(xiàng)式中。</p><p><b> 界面設(shè)計(jì)及測試結(jié)果</b></p><p><b&g
80、t; 算法分析</b></p><p> 主要的算法是對多項(xiàng)式的計(jì)算,分別有</p><p> 1、A+B:用了一個(gè)循環(huán),循環(huán)n次,即T=O(n)</p><p> 2、A-B:A-B即為A+(-B),即T=O(n)</p><p> 3、A*B:用了兩個(gè)循環(huán)來完成計(jì)算,第二個(gè)循環(huán)嵌套在第一個(gè)循環(huán)里面,即時(shí)間復(fù)雜度T=O
81、(n2)</p><p><b> 結(jié)論</b></p><p> 課程設(shè)計(jì)終于做完了,雖然有些疲勞和困倦,但帶給我很多的收獲。數(shù)絕結(jié)構(gòu)已經(jīng)學(xué)了一個(gè)學(xué)期,大概三個(gè)多月了,有許多知識(shí)都存在似懂非懂的現(xiàn)象,這種現(xiàn)象通過實(shí)際的上機(jī)操作,實(shí)際應(yīng)用,已經(jīng)減少了許多。對這些知識(shí)也有了更深的理解和很好的掌握。許多困惑,有許多已經(jīng)通過實(shí)際操作解決了,并能夠深刻認(rèn)識(shí),但也有很多沒有
82、明白。通過課程設(shè)計(jì),明白到了原來開發(fā)一個(gè)小小的實(shí)用系統(tǒng),是需要考慮到很多方面的問題的,這些都是要在實(shí)踐中摸索的,這與平時(shí)做練習(xí)是不同的,但也因?yàn)槠綍r(shí)有許多的練習(xí)基礎(chǔ),會(huì)使你做起程序來,更加得心應(yīng)手。另外就是要把錯(cuò)誤總結(jié),有許多錯(cuò)誤或者陷阱是平時(shí)自己陷進(jìn)去的,因此很深刻,但也有些錯(cuò)誤或者陷阱是自己還沒有接觸或者犯過的,這就應(yīng)該看多些別人的總結(jié),使自己不犯這些錯(cuò)誤。不讓自己掉進(jìn)這些陷阱。這樣長期總結(jié),會(huì)對自己有很大的幫助。 主要
83、內(nèi)容是對一元多項(xiàng)式存儲(chǔ)結(jié)構(gòu)的選擇,輸入多項(xiàng)式采用頭插法的方式,輸入多項(xiàng)式中一個(gè)項(xiàng)的系數(shù)和指數(shù),就產(chǎn)生一個(gè)新的節(jié)點(diǎn),建立起它的右指針,并用頭節(jié)點(diǎn)指向它;雖然一元多項(xiàng)式可以用順序和鏈?zhǔn)絻煞N存儲(chǔ)結(jié)構(gòu)表示,但順序結(jié)構(gòu)的最大長度很難確定。比如當(dāng)多項(xiàng)式的系數(shù)較大時(shí),此時(shí)就會(huì)</p><p><b> 8參考文獻(xiàn)</b></p><p> [1]嚴(yán)蔚敏,吳偉民. 數(shù)據(jù)結(jié)構(gòu)(C語
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)_一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)
- 一元多項(xiàng)式的加法、減法、乘法的實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 順序鏈?zhǔn)揭辉囗?xiàng)式加法、減法、乘法運(yùn)算的實(shí)現(xiàn)
- 一元多項(xiàng)式課程設(shè)計(jì)--用c語言實(shí)現(xiàn)一元多項(xiàng)式的加減法計(jì)算
- 一元多項(xiàng)式運(yùn)算課程設(shè)計(jì)
- 課程設(shè)計(jì)--一元多項(xiàng)式計(jì)算
- 課程設(shè)計(jì)---一元多項(xiàng)式的代數(shù)運(yùn)算
- 數(shù)據(jù)結(jié)構(gòu)一元多項(xiàng)式加法器課程設(shè)計(jì)
- 一元多項(xiàng)式運(yùn)算課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告一元多項(xiàng)式的實(shí)現(xiàn)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)一元多項(xiàng)式的加減法運(yùn)算
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---一元多項(xiàng)式
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----一元多項(xiàng)式
- 一元多項(xiàng)式的計(jì)算問題-數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)報(bào)告
- 多項(xiàng)式的加法與乘法
- 一元多項(xiàng)式計(jì)算(數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì))
- 一元稀疏多項(xiàng)式計(jì)算器課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---一元多項(xiàng)式計(jì)算
評論
0/150
提交評論