版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 數(shù)學(xué)與計(jì)算機(jī)學(xué)院</b></p><p><b> 課程設(shè)計(jì)說明書</b></p><p> 課 程 名 稱: 數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì) </p><p> 課 程 代 碼: </p><p> 題 目:
2、 二叉樹生成家譜 </p><p> 年級(jí)/專業(yè)/班: </p><p> 學(xué) 生 姓 名: </p><p> 學(xué) 號(hào): </p><p> 開 始 時(shí) 間: 2012
3、 年 12 月 09 日</p><p> 完 成 時(shí) 間: 2012 年 12 月 29 日</p><p><b> 課程設(shè)計(jì)成績:</b></p><p> 指導(dǎo)教師簽名: 年 月 日</p><p><b> 目 錄 </b
4、></p><p><b> 1 需求分析6</b></p><p> 1.1任務(wù)與分析6</p><p><b> 1.2測試數(shù)據(jù)6</b></p><p><b> 2 概要設(shè)計(jì)7</b></p><p> 2.1 ADT描述
5、7</p><p> 2.2程序模塊結(jié)構(gòu)8</p><p> 2.3 各功能模塊9</p><p><b> 3 詳細(xì)設(shè)計(jì)10</b></p><p> 3.1結(jié)構(gòu)體定義10</p><p> 3.2 初始化11</p><p> 3.3 插入操作
6、13</p><p> 3.4 查詢操作15</p><p><b> 4 調(diào)試分析18</b></p><p> 5 用戶使用說明18</p><p><b> 6 測試結(jié)果18</b></p><p><b> 結(jié) 論23</b>
7、;</p><p><b> 附 錄24</b></p><p><b> 參考文獻(xiàn)25</b></p><p><b> 摘 要</b></p><p> 隨著計(jì)算機(jī)科學(xué)技術(shù)、計(jì)算機(jī)產(chǎn)業(yè)的迅速發(fā)展,計(jì)算機(jī)的應(yīng)用普及也在以驚人的速度發(fā)展,計(jì)算機(jī)應(yīng)用已經(jīng)深入到人
8、類社會(huì)的各個(gè)領(lǐng)域。計(jì)算機(jī)的應(yīng)用早已不限于科學(xué)計(jì)算,而更多地應(yīng)用在信息處理方面。計(jì)算機(jī)可以存儲(chǔ)的數(shù)據(jù)對(duì)象不再是純粹的數(shù)值,而擴(kuò)展到了字符、聲音、圖像、表格等各種各樣的信息。對(duì)于信息的處理也不再是單純的計(jì)算,而是一些如信息存儲(chǔ)、信息檢索等非數(shù)值的計(jì)算。那么,現(xiàn)實(shí)世界的各種數(shù)據(jù)信息怎樣才能夠存儲(chǔ)到計(jì)算機(jī)的內(nèi)存之中,對(duì)存入計(jì)算機(jī)的數(shù)據(jù)信息怎樣進(jìn)行科學(xué)處理,這涉及計(jì)算機(jī)科學(xué)的信息表示和算法設(shè)計(jì)問題。為解決現(xiàn)實(shí)世界中某個(gè)復(fù)雜問題,總是希望設(shè)計(jì)一個(gè)高
9、效適用的程序。這就需要解決怎樣合理地組織數(shù)據(jù)、建立合適的數(shù)據(jù)結(jié)構(gòu),怎樣設(shè)計(jì)適用的算法,以提高程序執(zhí)行的時(shí)間效率和空間效率?!皵?shù)據(jù)結(jié)構(gòu)”就是在此背景下逐步形成、發(fā)展起來的。</p><p> 在各種高級(jí)語言程序設(shè)計(jì)的基本訓(xùn)練中,解決某一實(shí)際問題的步驟一般是:分析實(shí)際問題;確定數(shù)學(xué)模型;編寫程序;反復(fù)調(diào)試程序直至得到正確結(jié)果。所謂數(shù)學(xué)模型一般指具體的數(shù)學(xué)公式、方程式等,如牛頓迭代法解方程,各種級(jí)數(shù)的計(jì)算等。這屬于數(shù)
10、值計(jì)算的一類問題。而現(xiàn)實(shí)生活中,更多的是非數(shù)值計(jì)算問題,如手機(jī)中的通訊錄,人們對(duì)它的操作主要是查找、增加、刪除或者修改電話記錄。再如,人們經(jīng)常在互聯(lián)網(wǎng)上查閱各種新聞,或查閱電子地圖,人們可以在某城區(qū)地圖上查找自己所需的街道或店鋪,其操作主要是搜索和查詢。下面再來分析幾個(gè)典型實(shí)例,它們的主要特點(diǎn)是:不同實(shí)例的數(shù)據(jù)元素之間存在不同的關(guān)系;對(duì)數(shù)據(jù)信息的處理主要有插入、刪除、排序、檢索等。</p><p> 關(guān)鍵詞:網(wǎng)
11、絡(luò)化;計(jì)算機(jī);對(duì)策;二叉樹</p><p><b> 引 言 </b></p><p> 課程設(shè)計(jì)的目的:通過本項(xiàng)課程設(shè)計(jì),培養(yǎng)學(xué)生獨(dú)立思考、綜合運(yùn)用所學(xué)有關(guān)相應(yīng)知識(shí)的能力,使學(xué)生鞏固《數(shù)據(jù)結(jié)構(gòu)》課程學(xué)習(xí)的內(nèi)容,掌握工程軟件設(shè)計(jì)的基本方法,強(qiáng)化上機(jī)動(dòng)手編程能力,闖過理論與實(shí)踐相結(jié)合的難關(guān);為了培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)、獨(dú)立分析和解決實(shí)際問題的能力,培養(yǎng)創(chuàng)意識(shí)和創(chuàng)
12、新能力,使學(xué)生獲得科學(xué)研究的基礎(chǔ)訓(xùn)練。為后續(xù)各門計(jì)算機(jī)課程的學(xué)習(xí)和畢業(yè)設(shè)計(jì)打下堅(jiān)實(shí)基礎(chǔ)。同時(shí),可以利用這次機(jī)會(huì)來檢驗(yàn)自己的c/c++/數(shù)據(jù)結(jié)構(gòu)水平,提高自己的寫作水平,鍛煉自己的動(dòng)手能力。</p><p> 而此次課程設(shè)計(jì)的意義在于:增強(qiáng)自己的動(dòng)手能力,熟悉和掌握二叉樹各種遍歷的算法,以及遞歸在遍歷二叉樹中的應(yīng)用,增強(qiáng)自己的調(diào)試程序和測試程序的能力。</p><p><b>
13、 1 需求分析</b></p><p><b> 1.1任務(wù)與分析</b></p><p> 1.建立輸入文件以存放最刜家譜中各成員的信息。 </p><p> 2.成員的信息中均應(yīng)包含以下內(nèi)容: 姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡) 也可附加其它信息、但不是必需的。 </p>&l
14、t;p> 3.能對(duì)修改后的家譜存盤以備以后使用。 </p><p> 4.能從文件中讀出已有的家譜,形成樹狀關(guān)系。 </p><p> 5.家譜建立好之后,以圖形方式顯示出來。 </p><p> 6.顯示第n 代所有人的信息。 </p><p> 7.按照姓名查詢,輸出成員信息(包括其本人、父親、孩子的信息)
15、。 </p><p> 8.按照出生日期查詢成員名單。 </p><p> 9.輸入兩人姓名,確定其關(guān)系。 </p><p> 10.給某人添加孩子。 </p><p> 11.刪除某人(若其還有后代,則一并刪除)。 </p><p> 12.修改某人信息。 </p><
16、;p> 13.用括號(hào)法輸出家譜成員信息</p><p><b> 1.2測試數(shù)據(jù)</b></p><p> 1 徐朝嬴 m 1938-1-20 1 彭代芳 0 此人相當(dāng)?shù)臒嵝?0 2 3 4 5 10000</p><p> 2 徐廷文 m
17、 1964-8-3 2 李太群 1 此人相當(dāng)有責(zé)任心 0 6 7 10000</p><p> 3 徐素華 w 1966-4-6 2 李奉光 1 此人很好 0 10000</p><p> 4 徐軍華
18、m 1969-7-8 2 曲舞 1 此人很有正義感 0 10000</p><p> 5 徐廷國 m 1972-9-2 2 木瑪 1 此人心的很善良 0 10000 </p><p> 6 徐光勇
19、 m 1989-1-27 3 Nomarry 2 此人很牛逼 0 10000</p><p> 7 徐光超 m 1992-9-5 3 Nomarry 2 此人亦很牛逼 0 10000</p><p>&
20、lt;b> 2 概要設(shè)計(jì)</b></p><p><b> 2.1 ADT描述</b></p><p> 1.ADT Person{ </p><p> 數(shù)據(jù)對(duì)象:D={Pj | Pj={姓名、出生日期、婚否、地址、健在否(如過世,還應(yīng)有其死亡日 期)},j=0,1,2,…… n,其中n>=0} </p&g
21、t;<p> 數(shù)據(jù)關(guān)系:R={} 基本操作: 無。 </p><p> }ADT Person</p><p> 2.ADT FamilytreeFile{ </p><p> 數(shù)據(jù)對(duì)象:D={Aj | Aj 屬于 Person,j=1,2,3,……,n 其中n>=1} </p><p> 數(shù)據(jù)關(guān)系:D 中每個(gè)對(duì)
22、象用換行符隔開, R={ | Aj 屬于D,j=1,2,3,……,n 其中n>=1,String 屬于字符串類型,為 Aj 父親姓名(若String=-1,Aj 無父親,若String=Aj 的姓名,表示家譜文件結(jié)束)} </p><p> 基本操作: 1. 打開家譜類型文件,并建立兄弟、孩子二叉樹。 2. 從內(nèi)存中讀取兄弟、孩子二叉樹,并建立家譜類型文件。 }</p><p
23、> ADT FamilytreeFlie</p><p> 3.ADT Familytree{ </p><p> 數(shù)據(jù)對(duì)象:D={Aj | Aj 屬于Person,j=1,2,3,……,n 其中n>=0} </p><p> 數(shù)據(jù)關(guān)系:V={ | Aj-1,Aj 屬于D,j=2,3,……,n 其中n>=2,且Aj-1 與Aj 為
24、祖先與 后 代關(guān)系(parent)、后代與祖先關(guān)系(child)、兄弟之間關(guān)系(sibling)} </p><p> 基本操作: 1. 顯示某人信息。 2. 修改某人信息。 3. 增加某人孩子。 4. 刪除某人。 5. 通過某人查找其雙親、孩子、兄弟。 </p><p> }ADT Familytree</p><p><b> 2.2程序模塊結(jié)構(gòu)
25、</b></p><p> 2.2.1 結(jié)構(gòu)體定義</p><p> struct People //定義結(jié)構(gòu)體People</p><p><b> {</b></p><p><b> int num;</b></p><p> ch
26、ar name[20];</p><p><b> char sex;</b></p><p> char borndate[15];</p><p> int generation;</p><p> char matename[20];</p><p> int parent;<
27、;/p><p> char infor[100];</p><p> LinkList child;</p><p><b> };</b></p><p> struct Node //定義結(jié)構(gòu)體Node</p><p><b> {</b>
28、</p><p><b> int a;</b></p><p> struct Node * next;</p><p><b> };</b></p><p> struct LinkList //定義鏈表</p><p><b> {
29、</b></p><p> NodePoint La;</p><p><b> };</b></p><p> struct Tree //定義樹</p><p><b> {</b></p><p> PeoplePoint
30、Tr;</p><p> int Length;</p><p> int TREE_INIT_SIZE;</p><p><b> };</b></p><p><b> 2.3 各功能模塊</b></p><p> void InitTree(Tree &
31、;TR); //在樹已定義的情況下,初始化樹TR </p><p> LinkList InitLinkList(void); //在什么都沒有的情況下,初始化一個(gè)帶頭結(jié)點(diǎn)的鏈表并返回鏈表L </p><p> void AddLinkList(LinkList p); //對(duì)帶頭結(jié)點(diǎn)的鏈表pl,添加一個(gè)節(jié)點(diǎn)為m的節(jié)點(diǎn)在表頭</p><p> void
32、 CreatFamilyTree(Tree &TR); //在什么都沒有的情況下,創(chuàng)建一個(gè)家譜TR。并返回TR</p><p> void PrintPeople(PeoplePoint p); // 已知某節(jié)點(diǎn)的指針p,輸出people p 的相關(guān)信息</p><p> void PrintLinkList(LinkList p); //已知鏈表p,輸出鏈表p中的信息<
33、/p><p> int CompareNum(PeoplePoint p,int num); //已知某節(jié)點(diǎn)的指針p和一個(gè)編號(hào)num,比較p的num和num,如果相等返回1,否則返回0</p><p> int CompareName(PeoplePoint p,char a[]);//已知某節(jié)點(diǎn)的指針p和一個(gè)姓名a,比較p的name,如果兩者相等返回1,否則返回0</p>
34、<p> void TraveTreePrint(Tree TR); //已知樹TR,按規(guī)定輸出節(jié)點(diǎn)信息,根據(jù)編號(hào)、姓名、孩子輸出</p><p> void AddPeople(Tree &TR); //已知樹TR,當(dāng)有人出生時(shí),添加一個(gè)節(jié)點(diǎn)</p><p> void MarryChange(Tree TR,char name[20]); //已知樹TR和一個(gè)人
35、的姓名name,因?yàn)榻Y(jié)婚需要改變節(jié)點(diǎn)中的配偶一欄</p><p> void Open(Tree &TR);//打開保存家譜信息的文件</p><p> void Save(Tree TR);//保存家譜信息到指定文件</p><p> void PrintTree(Tree TR); //輸出家譜中所有成員的信息</p><p&g
36、t;<b> 3 詳細(xì)設(shè)計(jì)</b></p><p><b> 3.1結(jié)構(gòu)體定義</b></p><p> struct People //定義結(jié)構(gòu)體People</p><p><b> {</b></p><p><b> int num;
37、</b></p><p> char name[20];</p><p><b> char sex;</b></p><p> char borndate[15];</p><p> int generation;</p><p> char matename[20];&l
38、t;/p><p> int parent;</p><p> char infor[100];</p><p> LinkList child;</p><p><b> };</b></p><p> struct Node //定義結(jié)構(gòu)體Node</p&g
39、t;<p><b> {</b></p><p><b> int a;</b></p><p> struct Node * next;</p><p><b> };</b></p><p> struct LinkList //定義
40、鏈表</p><p><b> {</b></p><p> NodePoint La;</p><p><b> };</b></p><p> struct Tree //定義樹</p><p><b> {</b>
41、</p><p> PeoplePoint Tr;</p><p> int Length;</p><p> int TREE_INIT_SIZE;</p><p><b> };</b></p><p><b> 3.2 初始化</b></p>&
42、lt;p> void InitTree(Tree &TR) //在樹已定義的情況下,初始化樹TR </p><p><b> {</b></p><p> People peop[INIT_SIZE];</p><p> TR.Tr=peop;</p><p> TR.Lengt
43、h=0;</p><p> TR.TREE_INIT_SIZE=INIT_SIZE;</p><p><b> }</b></p><p> LinkList InitLinkList(void)//在什么都沒有的情況下,初始化一個(gè)帶頭結(jié)點(diǎn)的鏈表并返回鏈表L </p><p><b> {&l
44、t;/b></p><p> LinkList L;</p><p> NodePoint Head;</p><p> Head=(NodePoint)malloc(sizeof(Node));</p><p> Head->a=0;</p><p> Head->next=NULL;&l
45、t;/p><p> L.La=Head;</p><p> return (L);</p><p><b> }</b></p><p> void CreatFamilyTree(Tree &TR) //在什么都沒有的情況下,創(chuàng)建一個(gè)家譜TR。并返回TR </p
46、><p><b> {</b></p><p> LinkList lp;</p><p> TR.Tr=peop;</p><p> TR.Length=0;</p><p> TR.TREE_INIT_SIZE=INIT_SIZE;</p><p> int
47、i=0,n,j,k,c;</p><p> cout<<"請(qǐng)輸入家譜中一共有多少人\n";</p><p><b> cin>>n;</b></p><p> TR.Length=n;</p><p> for(i=0;i<n;i++)</p>&l
48、t;p><b> {</b></p><p> (peop[i].num)=i+1;</p><p> cout<<"請(qǐng)輸入該人的姓名:\n";</p><p> cin>>peop[i].name;</p><p> cout<<"請(qǐng)輸入
49、該人的性別:\n";</p><p> cin>>peop[i].sex;</p><p> cout<<"請(qǐng)輸入該人的出生日期:\n";</p><p> cin>>peop[i].borndate;</p><p> cout<<"請(qǐng)輸入該人是
50、第幾代人:\n";</p><p> cin>>peop[i].generation;</p><p> cout<<"請(qǐng)輸入其配偶的姓名,如無則輸入Nomarry\n";</p><p> cin>>peop[i].matename;</p><p> cout<
51、;<"請(qǐng)輸入其雙親的編號(hào):\n";</p><p> cin>>peop[i].parent;</p><p> cout<<"請(qǐng)輸入該人相關(guān)的備注信息:\n";</p><p> cin>>peop[i].infor;</p><p> LinkLis
52、t L;</p><p> NodePoint Head;</p><p> Head=(NodePoint)malloc(sizeof(Node));</p><p> Head->a=0;</p><p> Head->next=NULL;</p><p> L.La=Head;</p&
53、gt;<p> peop[i].child=L; </p><p> lp=peop[i].child;</p><p> cout<<"請(qǐng)輸入其孩子的個(gè)數(shù):\n";</p><p><b> cin>>k;</b></p><p>
54、 for(j=0;j<k;j++)</p><p><b> {</b></p><p> cout<<"請(qǐng)輸入孩子的編號(hào):\n";</p><p><b> cin>>c;</b></p><p> AddLinkList(lp,c);&l
55、t;/p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 3.3 插入操作</b></p><p> void AddPeople(Tree
56、&TR)</p><p> //已知樹TR,當(dāng)有人出生時(shí),添加一個(gè)節(jié)點(diǎn)</p><p><b> {</b></p><p> int k,c,j,m;</p><p> LinkList L,L1,L2;</p><p> NodePoint Head;</p>
57、<p> PeoplePoint p1,p2,p3;</p><p> if(TR.Length>=TR.TREE_INIT_SIZE)</p><p> {TR.Tr=(PeoplePoint)realloc(TR.Tr,(TR.TREE_INIT_SIZE+TREEINCREMENT)*LEN);</p><p> if(!TR.Tr)
58、exit(OVERFLOW);}</p><p><b> p1=peop;</b></p><p> p2=p1+(TR.Length);</p><p> p2->num=TR.Length+1;</p><p> cout<<"請(qǐng)輸入該人的姓名:\n";</p&g
59、t;<p> gets(p2->name);</p><p> cout<<"請(qǐng)輸入該人的性別:\n";</p><p> cin>>p2->sex;</p><p> cout<<"請(qǐng)輸入該人的出生日期:\n";</p><p>
60、 cin>>p2->borndate;</p><p> cout<<"請(qǐng)輸入該人是第幾代人:\n";</p><p> cin>>p2->generation;</p><p> cout<<"請(qǐng)輸入其配偶的姓名,如無則輸入Nomarry\n";</p&
61、gt;<p> gets(p2->matename);</p><p> cout<<"請(qǐng)輸入其雙親的編號(hào):\n";</p><p> cin>>p2->parent;</p><p> cout<<"請(qǐng)輸入該人相關(guān)的備注信息:\n";</p>
62、<p> gets(p2->infor);</p><p> gets(p2->infor);</p><p> Head=(NodePoint)malloc(sizeof(Node));</p><p> Head->a=0;</p><p> Head->next=NULL;</p>
63、;<p> L.La=Head;</p><p> p2->child=L;</p><p> L1=p2->child;</p><p> cout<<"請(qǐng)輸入其孩子的個(gè)數(shù):\n";</p><p><b> cin>>k;</b><
64、/p><p> for(j=0;j<k;j++)</p><p><b> {</b></p><p> cout<<"請(qǐng)輸入孩子的編號(hào):\n";</p><p><b> cin>>c;</b></p><p> Ad
65、dLinkList(L1,c);</p><p><b> }</b></p><p> m=p2->parent-1;</p><p><b> p3=p1+m;</b></p><p> L2=p3->child;</p><p> AddLinkL
66、ist(L2,p2->num);</p><p> TR.Length=TR.Length+1;</p><p> cout<<"添加成功\n";</p><p><b> }</b></p><p><b> 3.4 查詢操作</b></p>
67、;<p> void TraveTreePrint(Tree TR)</p><p> //已知樹TR,按規(guī)定輸出節(jié)點(diǎn)信息,根據(jù)編號(hào)、姓名、孩子輸出</p><p><b> {</b></p><p> PeoplePoint p;</p><p> int i,j,k,Flag;</p&
68、gt;<p> char name1[15],name2[15];</p><p><b> p=TR.Tr;</b></p><p> printf("根據(jù)編號(hào)查找請(qǐng)輸入1,根據(jù)姓名查找請(qǐng)輸入2,根據(jù)孩子查找請(qǐng)輸入3:\n");</p><p> scanf("%d",&i
69、);</p><p><b> if(i==1)</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入該節(jié)點(diǎn)的編號(hào):\n");</p><p> scanf("%d",&k);</p><p
70、> for(j=0;j<TR.Length;j++)</p><p><b> {</b></p><p> Flag=CompareNum((p+j),k);</p><p><b> if(Flag)</b></p><p> PrintPeople((p+j));<
71、/p><p><b> }</b></p><p><b> }</b></p><p><b> if(i==2)</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入該人的姓名:
72、\n");</p><p> gets(name1);</p><p> gets(name1);</p><p> for(j=0;j<TR.Length;j++)</p><p><b> {</b></p><p> Flag=CompareName((p+j),n
73、ame1);</p><p><b> if(Flag)</b></p><p> PrintPeople((p+j));</p><p><b> }</b></p><p><b> }</b></p><p><b> if(i
74、==3)</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入其孩子的姓名:\n");</p><p> gets(name2);</p><p> gets(name2);</p><p> for(j=0;j<T
75、R.Length;j++)</p><p><b> {</b></p><p> if(strcmp(peop[j].name,name2)==0)</p><p> PrintPeople((p+(peop[j].parent-1)));</p><p><b> }</b></p
76、><p><b> }</b></p><p><b> }</b></p><p><b> 4 調(diào)試分析</b></p><p> 在調(diào)試時(shí),遇到的幾個(gè)問題如下: </p><p> 1)建立樹時(shí),由于新申請(qǐng)結(jié)點(diǎn)的孩子指針、兄弟指針、及雙親指針
77、均未賦空值。 而在以后的函數(shù)中對(duì)樹迚行遞歸操作時(shí)均以這些指針值中的一個(gè)或幾個(gè)是否為空 作為遞歸結(jié)束條件。從而導(dǎo)致調(diào)用這些函數(shù)時(shí)出現(xiàn)系統(tǒng)保護(hù)異常(使用了不安全 的指針)。 </p><p> 2)剛開始初除結(jié)點(diǎn)時(shí),只考慮到初除其本身結(jié)點(diǎn)的情況,而初除其孩子結(jié)點(diǎn)的 情況未考慮到,故在初除某些結(jié)點(diǎn)時(shí)使樹出現(xiàn)了“斷鏈”現(xiàn)象。故在程序代碼中 對(duì)初除某一結(jié)點(diǎn)迚行操作時(shí),首先要?jiǎng)`斷此結(jié)點(diǎn)是否有孩子及兄弟,然后迚行相 應(yīng)操作。
78、</p><p> 本程序的編譯環(huán)境為Microsoft Visual C++ 6.0 ,在Windows 8下編譯通過。</p><p><b> 5 用戶使用說明</b></p><p> 用戶在打開軟件后即可使用本軟件,傻瓜式操作,界面簡單易懂,用戶在使用本軟件過程中若出現(xiàn)隱私泄露或受到任何損失,與作者無關(guān)。</p>
79、<p><b> 6 測試結(jié)果</b></p><p><b> 部分測試結(jié)果:</b></p><p><b> 結(jié) 論</b></p><p> 通過一個(gè)學(xué)期以來的數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí),加深了我對(duì)C++程序設(shè)計(jì)語言的認(rèn)識(shí),使得我對(duì)程序的開發(fā)過程有了更深的認(rèn)識(shí),這一次的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
80、是對(duì)我學(xué)習(xí)的檢驗(yàn),在這次實(shí)驗(yàn)中,我利用了各種開發(fā)工具以及建模工具,還在圖書館查過不少資料,最終解決了一個(gè)個(gè)難題。通過這次的實(shí)驗(yàn),我得出了一個(gè)結(jié)論,任何一門語言的學(xué)習(xí)都是空洞的,只有在自己實(shí)驗(yàn)驗(yàn)證后才能讓自己學(xué)到真正的知識(shí)。</p><p> 以上便是我對(duì)《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》這門課的總結(jié),我會(huì)抓緊時(shí)間將沒有吃透的知識(shí)點(diǎn)補(bǔ)齊。今后我仍然會(huì)繼續(xù)學(xué)習(xí),克服學(xué)習(xí)中遇到的難關(guān),在打牢基礎(chǔ)的前提下向更深入的層面邁進(jìn)!<
81、/p><p><b> 參考文獻(xiàn) </b></p><p> [1]楊寶剛.開展企業(yè)管理信息化工作的步驟[J].企業(yè)管理.2002.(11).12~15</p><p> [2]Islamabad. Software tools for forgery detection[J]. Business line.2001. (5). 29~32
82、</p><p> [3]《數(shù)據(jù)結(jié)構(gòu)(C 語言版)》——清華大學(xué)出版社——嚴(yán)蔚敏、吳偉民編著 </p><p> [4]《C 至Visual C++程序設(shè)計(jì)語言》——科學(xué)出版社——蔡常豐、林小蘋編著 [5]《Microsoft Visual C++ 6.0 高手速成》——兵器工業(yè)出版社——步行者工作室編著 </p><p> [6]《C++程序設(shè)計(jì)》——清華大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二叉樹數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 《數(shù)據(jù)結(jié)構(gòu)遍歷二叉樹》課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---計(jì)算二叉樹高度
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----二叉樹的應(yīng)用
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--二叉樹及應(yīng)用
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---線索二叉樹的生成及其遍歷
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---線索二叉樹
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--二叉樹的遍歷
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---二叉樹的操作
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)--二叉排序樹調(diào)整為平衡二叉樹
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--二叉樹的相關(guān)操作
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--二叉樹的算法
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----二叉樹平衡的判定
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--按層次遍歷二叉樹
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-二叉樹的基本操作
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)之二叉樹的遍歷
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)之-樹與二叉樹的轉(zhuǎn)換
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---二叉樹的遍歷算法集成
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---二叉排序樹和平衡二叉樹的判別
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--樹的應(yīng)用_樹和二叉樹的轉(zhuǎn)換
評(píng)論
0/150
提交評(píng)論