心得體會是對所經(jīng)歷的事物的理解和領悟的一種表達方式,是對自身成長和發(fā)展的一種反思和總結(jié)。通過記錄心得體會,我們可以更好地認識自己,借鑒他人的經(jīng)驗,規(guī)劃自己的未來,為社會的進步做出貢獻。下面我給大家整理了一些心得體會范文,希望能夠幫助到大家。
數(shù)據(jù)結(jié)構(gòu)課程設計心得體會篇一
通過本次課程設計,對圖的概念有了一個新的認識,在學習離散數(shù)學的時候,總覺得圖是很抽象的東西,但是在學習了《數(shù)據(jù)結(jié)構(gòu)與算法》這門課程之后,我慢慢地體會到了其中的`奧妙,圖能夠在計算機中存在,首先要捕捉他有哪些具體化、數(shù)字化的信息,比如說權值、頂點個數(shù)等,這也就說明了想要把生活中的信息轉(zhuǎn)化到計算機中必須用數(shù)字來完整的構(gòu)成一個信息庫,而圖的存在,又涉及到了頂點之間的聯(lián)系。圖分為有向圖和無向圖,而無向圖又是有向圖在權值雙向相等下的一種特例,如何能在計算機中表示一個雙向權值不同的圖,這就是一件很巧妙的事情,經(jīng)過了思考和老師同學的幫助,我用edges[i][j]=up和edges[j][i]=up就能實現(xiàn)了一個雙向圖信息的存儲。
對整個程序而言,dijkstra算法始終都是核心內(nèi)容,其實這個算法在實際思考中并不難,也許我們誰都知道找一個路徑最短的方法,及從頂點一步一步找最近的路線并與其直接距離相比較,但是,在計算機中實現(xiàn)這么一個很簡單的想法就需要涉及到很多專業(yè)知識,為了完成設計,在前期工作中,基本都是以學習c語言為主,所以浪費了很多時間,比如說在程序中,刪除頂點和增加頂點的模塊中都有和建圖模塊相互重復的函數(shù),但是由于技術的原因,只能做一些很累贅的函數(shù),可見在調(diào)用知識點,我沒有掌握好。
不過,有了這次課程設計的經(jīng)驗和教訓,我能夠很清楚的對自己定一個合適的水平,而且在這次課程設計中我學會了運用兩個新的函數(shù)sprintf和包涵在#include頭文件中的輸入函數(shù)。因為課程設計的題目是求最短路徑,本來是想通過算法的實現(xiàn)把這個程序與交通情況相連,但是因為來不及查找各地的信息,所以,這個計劃就沒有實現(xiàn),我相信在以后有更長時間的情況下,我會做出來的。
1、鞏固和加深了對數(shù)據(jù)結(jié)構(gòu)的理解,提高綜合運用本課程所學知識的能力。
2、培養(yǎng)了我選用參考書,查閱手冊及文獻資料的能力。培養(yǎng)獨立思考,深入研究,分析問題、解決問題的能力。
3、通過實際編譯系統(tǒng)的分析設計、編程調(diào)試,掌握應用軟件的分析方法和工程設計方法。
4、通過課程設計,培養(yǎng)了我嚴肅認真的工作作風,逐步建立正確的生產(chǎn)觀念、經(jīng)濟觀念和全局觀念。
根據(jù)我在實習中遇到得問題,我將在以后的學習過程中注意以下幾點:
1、認真上好專業(yè)實驗課,多在實踐中鍛煉自己。
2、寫程序的過程中要考慮周到,嚴密。
3、在做設計的時候要有信心,有耐心,切勿浮躁。
4、認真的學習課本知識,掌握課本中的知識點,并在此基礎上學會靈活運用。
5、在課余時間里多寫程序,熟練掌握在調(diào)試程序的過程中所遇到的常見錯誤,以便能節(jié)省調(diào)試程序的時間。
這是一門純屬于設計的科目,它需用把理論變?yōu)樯蠙C調(diào)試。在學習科目的第一節(jié)課起,李老師就為我們闡述了它的重要性。它對我們來說具有一定的難度。它是其它編程語言的一門基本學科。
剛開始學的時候確實有很多地方我很不理解,每次上課時老師都會給我們出不同的設計題目,對于我們一個初學者來說,無疑是一個具大的挑戰(zhàn),撞了幾次壁之后,我決定靜下心來,仔細去寫程序。老師會給我們需要編程的內(nèi)容一些講解,順著老師的思路,來完成自己的設計,我們可以開始運行自己的程序,可是好多處的錯誤讓人看的可怕,還看不出到底是哪里出現(xiàn)了錯誤,但是程序還是得繼續(xù)下去,我多次請教了老師和同學,逐漸能自己找出錯誤,并加以改正。
tc里檢查錯誤都是用英文來顯示出來的,經(jīng)過了這次課程設計,現(xiàn)在已經(jīng)可以了解很多錯誤在英文里的提示,這對我來說是一個突破性的進步,眼看著一個個錯誤通過自己的努力在我眼前消失,覺得很是開心。此次的程序設計能夠成功,是我和我的同學三個人共同努力作用的結(jié)果。在這一段努力學習的過程中,我們的編程設計有了明顯的提高。
其實現(xiàn)在想起來,收獲還真是不少,雖然說以前非常不懂這門語言,在它上面花費了好多心血,覺得它很難,是需用花費了大量的時間編寫出來的。現(xiàn)在真正的明白了一些代碼的應用,每個程序都有一些共同點,通用的結(jié)構(gòu),相似的格式。只要努力去學習,就會靈活的去應用它。
數(shù)據(jù)結(jié)構(gòu)課程設計心得體會篇二
1、運動會分數(shù)統(tǒng)計
任務:參加運動會有n個學校,學校編號為1……n。比賽分成m個男子項目,和w個女子項目。項目編號為男子1……m,女子m+1……m+w。不同的項目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名或前三名由學生自己設定。(m=10 , w=8 , n=15)功能要求:
3).可以按學校編號、學校總分、男女團體總分排序輸出(快速、基數(shù));
4).可按學校編號查詢學校某個項目的情況;可按項目編號查詢?nèi)〉们叭蚯拔迕膶W校。
界面要求:有合理的提示,每個功能可以設立菜單,根據(jù)提示,可以完成相關的功能要求。
存儲結(jié)構(gòu):學生自己根據(jù)系統(tǒng)功能要求自己設計,但是要求運動會的相關數(shù)據(jù)要存儲在數(shù)據(jù)文件中。
測試數(shù)據(jù):要求使用
1、全部合法數(shù)據(jù);
2、迷宮求解
3、huffman編碼
4、營業(yè)窗口隊列模擬
任務:實現(xiàn)具有n(n=3)個窗口的現(xiàn)實隊列模擬,統(tǒng)計每人的等待時間。要求:
1).隨機產(chǎn)生顧客的到達時間和服務時間存盤。2).利用存盤數(shù)據(jù)實現(xiàn)隊列的插入和刪除。2).當有顧客離開時,根據(jù)隊列長度調(diào)整隊尾。3).考慮顧客中途離隊的情況。4).考慮顧客具有優(yōu)先級的情況。
5、公交線路提示
任務:建立南京主要公交線路圖。要求:輸入任意兩站點,給出最佳的乘車線路和轉(zhuǎn)車地點。
6、家譜管理系統(tǒng)
任務:實現(xiàn)具有下列功能的家譜管理系統(tǒng) 功能要求:
1).輸入文件以存放最初家譜中各成員的信息,成員的信息中均應包含以下內(nèi)容:姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。
2).實現(xiàn)數(shù)據(jù)的存盤和讀盤。3).以圖形方式顯示家譜。
4).顯示第n 代所有人的信息。
5).按照姓名查詢,輸出成員信息(包括其本人、父親、孩子的信息)。6).按照出生日期查詢成員名單。7).輸入兩人姓名,確定其關系。8).某成員添加孩子。
9).刪除某成員(若其還有后代,則一并刪除)。10).修改某成員信息。
11).按出生日期對家譜中所有人排序。
12).打開一家譜時,提示當天生日的健在成員。
要求:建立至少30個成員的數(shù)據(jù),以較為直觀的方式顯示結(jié)果,并提供文稿形式以便檢查。
界面要求:有合理的提示,每個功能可以設立菜單,根據(jù)提示,可以完成相關的功能要求。
1、全部合法數(shù)據(jù);
7、排序算法比較
設計要求:利用隨機函數(shù)產(chǎn)生10個樣本,每個樣本有50000隨機整數(shù),利用直接插入排序、折半插入排序,表插入排序,希爾排序,起泡排序、快速排序、選擇排序、堆排序,歸并排序,基數(shù)排序十種排序方法進行排序(結(jié)果為由小到大的順序),并統(tǒng)計每一種排序所耗費的平均時間(統(tǒng)計為圖表坐標形式)。
8、算術表達式求值 [問題描述]
一個算術表達式是由操作數(shù)(operand)、運算符(operator)和界限符(delimiter)組成的。假設操作數(shù)是正整數(shù),運算符只含加減乘除等四種運算符,界限符有左右括號和表達式起始、結(jié)束符“#”,如:#(7+15)*(23-28/4)#。引入表達式起始、結(jié)束符是為了方便。編程利用“算符優(yōu)先法”求算術表達式的值。[基本要求](1)從鍵盤讀入一個合法的算術表達式,輸出正確的結(jié)果。(2)顯示輸入序列和棧的變化過程。
9、電子小字典
基本要求:建立一個微型電子字典,實現(xiàn)生詞的加入,單詞的查找、刪除,修改等操作。
數(shù)據(jù)結(jié)構(gòu):鍵樹
10、校園導游程序
(2)查詢圖中任意兩個景點間的最短路徑。(3)查詢圖中任意兩個景點間的所有路徑。
(4)增加、刪除、更新有關景點和道路的信息。
11、稀疏矩陣相乘
任務:以三元組形式存儲稀疏矩陣,實現(xiàn)矩陣相乘。
12、平衡二叉樹
任務:平衡二叉樹的建立、結(jié)點的插入和刪除。
13、b-樹
任務:3階b-樹的結(jié)點的插入和刪除。
14、hash表
任務:以班級學生姓名(拼音)為關鍵字,建立hash涵數(shù),實現(xiàn)hash表存儲,用鏈地址方法解決沖突。
15、??(自選合適的題目)
成績評定細則:
1.正確性:程序是否可以運行,結(jié)果是否正確(20分)2.功能的完備性:是否實現(xiàn)要求的所有子功能(20分)
加分項目:
1.健壯性:異常處理的情況
3.功能的完善:除要求實現(xiàn)的功能外,完成了其它的功能,實現(xiàn)了功能的完善 4.界面的設計:可視化界面,或者交互良好的dos界面 5.……(自薦加分項目)
代碼量要求:=1000行。
代碼總量 = 課設題目1 代碼量 + 課設題目2 代碼量…… 若代碼總量低于1000行,則成績按比例打折。
編程語言:c或c++語言
編程環(huán)境:microsoft visual c++ 6.0
時間安排: 上機時間安排 課程設計報告上交時間 3 課程設計檢查時間
課程設計報告要求:
2.給出自己采用的數(shù)據(jù)結(jié)構(gòu); 3.給出算法設計思想;
4.給出實現(xiàn)的源程序,并在必要的代碼處給出注釋; 5.給出測試數(shù)據(jù)和結(jié)果;
6.給出算法的時間復雜度、另外可以提出算法的改進方法;
7.給出結(jié)束語:說明完成課程設計的情況,心得體會;課程設計報告的電子文檔在上機檢查程序時一并檢查;書面文檔在指定的時間內(nèi)上交。
數(shù)據(jù)結(jié)構(gòu)課程設計心得體會篇三
一、要求
本次課程設計可以從以下的題目中任選其一,每個題目基本實現(xiàn)的要求是:
1、有菜單功能
2、有讀寫數(shù)據(jù)存盤功能
3、有數(shù)據(jù)圖形顯示或動畫顯示。
成品應包括以下內(nèi)容:
1、程序設計書(word格式)。
包括程序設計目標、問題描述、需求分析、概要設計、詳細設計、源程序清單(要求格式整齊400行以上,要有注釋說明)、軟件說明書(給出軟件如何使用,使用時的注意事項)、測試報告(每個函數(shù)的功能測試,輸入條件,輸出結(jié)果)和課程設計總結(jié)。
2、可執(zhí)行程序源代碼。
二、設計題目
三、上交作業(yè)及成績評定
1、上交要求
1)上交課程設計報告和源程序代碼。
2)每小組寫一份設計報告,以電子版形式上交,排版一定要規(guī)范,否則成績下降一檔。
3)以自己的“2012+專業(yè)+學號+姓名”建立文件夾,文件夾內(nèi)容包括程序源碼、設計報告的電子文檔。
4)課程設計時間為二周,要求每人上機學時不低于20學時。
2、評分標準
根據(jù)完成任務的情況(必須進行系統(tǒng)演示)、課程設計報告書的質(zhì)量和課程設計過程中的工作態(tài)度等按照30%、50%、20%加權綜合打分。成績評定實行優(yōu)秀、良好、中等、及格和不及格五個等級。上機程序檢查未通過者、無設計報告者以及嚴重抄襲他人設計者,成績?yōu)椴患案瘛?/p>
注:
每班分為十幾個小組,每組2人。
每個題目每班最多只能有兩小組選做。
每小組之間不得雷同,否則成績最多及格。
數(shù)據(jù)結(jié)構(gòu)課程設計心得體會篇四
這次課程設計的心得體會通過實習我的收獲如下:
1、鞏固和加深了對數(shù)據(jù)結(jié)構(gòu)的理解,提高綜合運用本課程所學知識的能力。
2、培養(yǎng)了我選用參考書,查閱手冊及文獻資料的能力。培養(yǎng)獨立思考,深入研究,分析問題、解決問題的能力。
3、通過實際編譯系統(tǒng)的分析設計、編程調(diào)試,掌握應用軟件的分析方法和工程設計方法。
4、通過課程設計,培養(yǎng)了我嚴肅認真的工作作風,逐步建立正確的生產(chǎn)觀念、經(jīng)濟觀念和全局觀念。從剛開始得覺得很難,到最后把這個做出來,付出了很多,也得到了很多,以前總以為自己對編程的地方還不行,現(xiàn)在,才發(fā)現(xiàn)只要認真做,沒有什么不可能。
編程時要認真仔細,出現(xiàn)錯誤要及時找出并改正,(其中對英語的要求也體現(xiàn)出來了,因為它說明錯誤的時候都是英語)遇到問題要去查相關的資料。反復的調(diào)試程序,最好是多找?guī)讉€同學來對你的程序進行調(diào)試并聽其對你的程序的建議,在他們不知道程序怎么寫的時候完全以一個用戶的身份來用對你的用戶界面做一些建議,正所謂當局者迷旁觀者清,把各個注意的問題要想到;同時要形成自己的編寫程序與調(diào)試程序的風格,從每個細節(jié)出發(fā),不放過每個知識點,注意與理論的聯(lián)系和理論與實踐的差別。另外,要注意符號的使用,注意對字符處理,特別是對指針的使用很容易出錯且調(diào)試過程是不會報錯的,那么我們要始終注意指針的初始化不管它怎么用以免不必要麻煩。
通過近兩周的學習與實踐,體驗了一下離開課堂的學習,也可以理解為一次實踐與理論的很好的連接。特別是本組所做的題目都是課堂上所講的例子,在實行之的過程中并不是那么容易事讓人有一種紙上談兵的體會,正所謂紙上得來終覺淺絕知此事要躬行。實訓過程中讓我們對懂得的知識做了進一步深入了解,讓我們的理解與記憶更深刻,對不懂的知識與不清楚的東西也做了一定的了解,也形成了一定的個人做事風格。
通過這次課程設計,讓我對一個程序的數(shù)據(jù)結(jié)構(gòu)有更全面更進一步的認識,根據(jù)不同的需求,采用不同的數(shù)據(jù)存儲方式,不一定要用棧,二叉樹等高級類型,有時用基本的一維數(shù)組,只要運用得當,也能達到相同的效果,甚至更佳,就如這次的課程設計,通過用for的多重循環(huán),舍棄多余的循環(huán),提高了程序的運行效率。在編寫這個程序的過程中,我復習了之前學的基本語法,哈弗曼樹最小路徑的求取,哈弗曼編碼及譯碼的應用范圍,程序結(jié)構(gòu)算法等一系列的問題它使我對數(shù)據(jù)結(jié)構(gòu)改變了看法。在這次設計過程中,體現(xiàn)出自己單獨設計模具的能力以及綜合運用知識的能力,體會了學以致用、突出自己勞動成果的喜悅心情,也從中發(fā)現(xiàn)自己平時學習的不足和薄弱環(huán)節(jié),從而加以彌補。
數(shù)據(jù)結(jié)構(gòu)課程設計心得體會篇五
輸出二叉樹
二叉樹的先序、中序、后序遍歷
二叉樹的按層遍歷
統(tǒng)計二叉樹的葉子結(jié)點、計算二叉樹的深度
設計主函數(shù)測試該類。2.猴子選大王(約瑟夫環(huán))
6.順序結(jié)構(gòu)、動態(tài)鏈表結(jié)構(gòu)下的一元多項式的加法,減法的實現(xiàn) 問題描述:先建立一元多項式am(x)和bn(x)
要求:完成兩個多項式的加法,減法;按照降冪排列顯示。
7.二叉平衡樹
問題描述:從一顆空樹開始創(chuàng)建,保證數(shù)的有序性,同時要針對數(shù)的平衡性做些微調(diào)。最終要把創(chuàng)建的二叉排序樹轉(zhuǎn)換成二叉平衡樹。基本要求:創(chuàng)建(插入,調(diào)整),輸出。
參考資料:1.《數(shù)據(jù)結(jié)構(gòu)
列出對于給定的輸入所產(chǎn)生的輸出結(jié)果。4.源程序及系統(tǒng)文件使用說明
附上關鍵數(shù)據(jù)結(jié)構(gòu)的定義及關鍵算法的源代碼。5.心得體會
參考文獻要注明作者,出版社,出版日期。
課程設計報告
題目:
班級:
學號:
姓名:
數(shù)據(jù)結(jié)構(gòu)課程設計心得體會篇六
設計結(jié)束后要寫出課程設計報告,以作為整個課程設計評分的書面依據(jù)和存檔材料。設計報告以規(guī)定格式的電子文檔書寫,打印并裝訂,排版及圖,表要清楚,工整。 裝訂順序如下:封面、目錄、正文。正文包括以下7個內(nèi)容:
1、需求分析
陳述說明程序設計的任務,強調(diào)的是程序要做什么 ,需要什么結(jié)果、所能達到的功能。
2、概要設計
實現(xiàn)概要設計中定義的所有數(shù)據(jù)類型,對每個操作只需要寫出偽碼算法;對主程序和其他模塊也都需要寫出偽碼算法(偽碼算法達到的詳細程度建議為:按照偽碼算法可以在計算機鍵盤直接輸入高級程序設計語言程序);可采用流程圖、n s 圖進行描述,畫出函數(shù)和過程的調(diào)用關系圖。
4、調(diào)試分析
內(nèi)容包括:
c.經(jīng)驗和體會等。5.測試結(jié)果
列出你的測試結(jié)果,包括輸入和輸出。這里的測試數(shù)據(jù)應該完整和嚴格,最好多于需求分析中所列。
6、參考文獻
列出參考的相關資料和書籍。
封面格式如下:
數(shù)據(jù)結(jié)構(gòu)課程設計報告
班級:_____ _____ _____ _________
姓名:____________________
指導教師:___________________
成績:__________________________
信息工程學院
年月日
目錄
1、需求分析 ………………………………………………
22.概要設計………………………………………………2
3、詳細設計 ………………………………………………2
4、調(diào)試分析 ………………………………………………2
附錄……………………………………………………
一、需求分析
二、概要設計
三、詳細設計
四、調(diào)試分析
五、測試結(jié)果
六、參考文獻
七、附錄
附錄為程序代碼!4
數(shù)據(jù)結(jié)構(gòu)課程設計心得體會篇七
完成了這次的二元多項式加減運算問題的課程設計后,我的心得體會很多,細細梳理一下,有以下幾點:
1、程序的編寫中的語法錯誤及修改
因為我在解決二元多項式問題中,使用了鏈表的方式建立的二元多項式,所以程序的空間是動態(tài)的生成的,而且鏈表可以靈活地添加或刪除結(jié)點,所以使得程序得到簡化。但是出現(xiàn)的語法問題主要在于子函數(shù)和變量的定義,降序排序,關鍵字和函數(shù)名稱的書寫,以及一些庫函數(shù)的規(guī)范使用,這些問題均可以根據(jù)編譯器的警告提示,對應的將其解決。
2、程序的設計中的邏輯問題及其調(diào)整
我在設計程序的過程中遇到許多問題,首先在選擇數(shù)據(jù)結(jié)構(gòu)的時候選擇了鏈表,但是鏈表的排序比較困難,特別是在多關鍵字的情況下,在一種關鍵字確定了順序以后,在第一關鍵字相同的時候,按某種順序?qū)Φ诙P鍵字進行排序。在此程序中共涉及到3個量數(shù),即:系數(shù),x的指數(shù)和y的指數(shù),而關鍵字排是按x的指數(shù)和y的指數(shù)來看,由于要求是降冪排序且含有2個關鍵字,所以我先選擇x的指數(shù)作為第一關鍵字,先按x的降序來排序,當x的指數(shù)相同時,再以y為關鍵字,按照y的指數(shù)大小來進行降序排列。
另外,我在加法函數(shù)的編寫過程中也遇到了大量的問題,由于要同時比較多個關鍵字,而且設計中涉及了數(shù)組和鏈表的綜合運用,導致反復修改了很長的時間才完成了一個加法的設計。但是,現(xiàn)在仍然有一個問題存在:若以0為系數(shù)的項是首項則顯示含有此項,但是運算后則自動消除此項,這樣是正確的。但是當其不是首項的時候,加法函數(shù)在顯示的時候有0為系數(shù)的項時,0前邊不顯示符號,當然,這樣也可以理解成當系數(shù)為0時,忽略這一項。這也是本程序中一個不完美的地方。
我在設計減法函數(shù)的時候由于考慮不夠充分就直接編寫程序,走了很多彎路,不得不停下來仔細研究算法,后來發(fā)現(xiàn)由于前邊的加法函數(shù)完全適用于減法,只不過是將二元多項式b的所有項取負再用加法函數(shù)即可,可見算法的重要性不低于程序本身。
3、程序的調(diào)試中的經(jīng)驗及體會
我在調(diào)試過程中,發(fā)生了許多小細節(jié)上的問題,它們提醒了自己在以后編程的時候要注意細節(jié),即使是一個括號的遺漏或者一個字符的誤寫都會造成大量的錯誤,浪費許多時間去尋找并修改,總結(jié)的教訓就是寫程序的時候,一定要仔細、認真、專注。
我還有一個很深的體會就是格式和注釋,由于平時不注意格式和注釋這方面的要求,導致有的時候在檢查和調(diào)試的時候很不方便。有的時候甚至剛剛完成一部分的編輯,結(jié)果一不注意,就忘記了這一部分程序的功能。修改的時候也有不小心誤刪的情況出現(xiàn)。如果注意格式風格,并且養(yǎng)成隨手加注釋的習慣,就能減少這些不必要的反復和波折。還有一點,就是在修改的時候,要注意修改前后的不同點在哪里,改后調(diào)試結(jié)果要在原有的基礎上更加精確。
數(shù)據(jù)結(jié)構(gòu)課程設計心得體會篇八
陳康蔭080401200708級計科系計本(2)班
完成了這次的二元多項式加減運算問題的課程設計后,我的心得體會很多,細細梳理一下,有以下幾點:
1、程序的編寫中的語法錯誤及修改
因為我在解決二元多項式問題中,使用了鏈表的方式建立的二元多項式,所以程序的空間是動態(tài)的生成的,而且鏈表可以靈活地添加或刪除結(jié)點,所以使得程序得到簡化。但是出現(xiàn)的語法問題主要在于子函數(shù)和變量的定義,降序排序,關鍵字和函數(shù)名稱的書寫,以及一些庫函數(shù)的規(guī)范使用,這些問題均可以根據(jù)編譯器的警告提示,對應的將其解決。
2、程序的設計中的邏輯問題及其調(diào)整
我在設計程序的過程中遇到許多問題,首先在選擇數(shù)據(jù)結(jié)構(gòu)的時候選擇了鏈表,但是鏈表的排序比較困難,特別是在多關鍵字的情況下,在一種關鍵字確定了順序以后,在第一關鍵字相同的時候,按某種順序?qū)Φ诙P鍵字進行排序。在此程序中共涉及到3個量數(shù),即:系數(shù),x的指數(shù)和y的指數(shù),而關鍵字排是按x的指數(shù)和y的指數(shù)來看,由于要求是降冪排序且含有2個關鍵字,所以我先選擇x的指數(shù)作為第一關鍵字,先按x的降序來排序,當x的指數(shù)相同時,再以y為關鍵字,按照y的指數(shù)大小來進行降序排列。
另外,我在加法函數(shù)的編寫過程中也遇到了大量的問題,由于要同時比較多個關鍵字,而且設計中涉及了數(shù)組和鏈表的綜合運用,導致反復修改了很長的時間才完成了一個加法的設計。但是,現(xiàn)在仍然有一個問題存在:若以0為系數(shù)的項是首項則顯示含有此項,但是運算后則自動消除此項,這樣是正確的。但是當其不是首項的時候,加法函數(shù)在顯示的時候有0為系數(shù)的項時,0前邊不顯示符號,當然,這樣也可以理解成當系數(shù)為0時,忽略這一項。這也是本程序中一個不完美的地方。
我在設計減法函數(shù)的時候由于考慮不夠充分就直接編寫程序,走了很多彎路,不得不停下來仔細研究算法,后來發(fā)現(xiàn)由于前邊的加法函數(shù)完全適用于減法,只不過是將二元多項式b的所有項取負再用加法函數(shù)即可,可見算法的重要性不低于程序本身。
3、程序的調(diào)試中的經(jīng)驗及體會
我在調(diào)試過程中,發(fā)生了許多小細節(jié)上的問題,它們提醒了自己在以后編程的時候要注意細節(jié),即使是一個括號的遺漏或者一個字符的誤寫都會造成大量的錯誤,浪費許多時間去尋找并修改,總結(jié)的教訓就是寫程序的時候,一定要仔細、認真、專注。
我還有一個很深的體會就是格式和注釋,由于平時不注意格式和注釋這方面的要求,導致有的時候在檢查和調(diào)試的時候很不方便。有的時候甚至剛剛完成一部分的編輯,結(jié)果一不注意,就忘記了這一部分程序的功能。修改的時候也有不小心誤刪的情況出現(xiàn)。如果注意格式風格,并且養(yǎng)成隨手加注釋的習慣,就能減少這些不必要的反復和波折。還有一點,就是在修改的時候,要注意修改前后的不同點在哪里,改后調(diào)試結(jié)果要在原有的基礎上更加精確。
數(shù)據(jù)結(jié)構(gòu)課程設計心得體會篇九
課程設計是計算機科學與技術專業(yè)學生的集中實踐性環(huán)節(jié)之一,是學習“數(shù)據(jù)結(jié)構(gòu)與算法”理論和實驗課程后進行的一次全面的綜合練習。其目的是要達到理論與實際應用相結(jié)合,使學生能夠根據(jù)問題要求和數(shù)據(jù)對象的特性,學會數(shù)據(jù)組織的方法,把現(xiàn)實世界中的實際問題在計算機內(nèi)部表示出來并用軟件解決問題,培養(yǎng)良好的程序設計技能。
在這次課程設計當中,我了解到了我的不足,如算法的不完善、不細心和耐心不是很好等等。不細心的我在調(diào)試程序時,老是因為某個書寫錯誤導致錯誤;對這些錯誤,我不得不花大量的時間去更正,并且還要重復檢查是否出現(xiàn)雷同的錯誤而導致程序不能運行。但是通過這次課程設計,我的這些缺點有些改善。我在寫新的程序時,首先要考慮的深入一點、仔細一點,這樣要修改程序的時間就會少很多。并且也不會因為自己不細心而導致的浪費時間的情況出現(xiàn)。
在進行程序設計時,要注意想好思路。即要有恰當模塊名、變量名、常量名、子程序名等。將每個功能的模塊,即函數(shù)名要清晰的表述出來,使用戶能夠一目了然此程序的功能。當然適當?shù)慕o寫注釋,也是方便用戶的理解。還有在編寫程序時要注意對程序的適當分配,便于用戶看懂程序,也便于自己檢查城市。但是完成任何一個較大的程序,都需要掌握一定的編程基礎,需要不斷的探索和求知過程,這樣對自己編程能力的提高有較大的幫助。當然,任何程序必須經(jīng)過計算機的調(diào)試,看是否調(diào)試成功,發(fā)現(xiàn)錯誤,一個個,一步步去解決,這樣就能從錯誤中進步。
通過課程設計加強了我的動手能力,以及提升了局部和統(tǒng)一考慮問題的思維方式。回顧起此次課程設計,至今我仍感慨頗多,的確,從從拿到題目到完成整個編程,從理論到實踐,在整整半個月的日子里,可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體通過這次課程設計之后,一定把以前所學過的知識重新溫故。
通過這次的課程設計,我學到了怎么樣從一個實際問題出發(fā),建立模型,找到相應的存儲結(jié)構(gòu)和實現(xiàn)方法,實際運行,反復調(diào)試和修改,最終實現(xiàn)功能。在程序設計方法以及上機操作等基本技能和科學作風方面受到比較系統(tǒng)和嚴格的訓練,學會數(shù)據(jù)組織的方法,把現(xiàn)實世界中的實際問題在計算機內(nèi)部表示出來并用軟件解決問題,培養(yǎng)了良好的程序設計技能。
在這次課程設計中,得到了好多同學的幫助以及老師的指導,在此要表達我真誠的謝意!
數(shù)據(jù)結(jié)構(gòu)課程設計心得體會篇十
在兩周的學習和實踐過程中,通過解決學生搭配問題這一實際問題,讓我對循環(huán)隊列有了更深的了解,對數(shù)據(jù)結(jié)構(gòu)也產(chǎn)生了更加濃厚的興趣,同時也是對我解決實際問題能力的一次提升。
記得王教授給我們上課時就要不斷的通過走算法的方式,掌握所學習的數(shù)據(jù)結(jié)構(gòu)、算法等,而上機則能進一步鞏固自己所學的知識、提高自己的學習能力。在上機的同時也改正了自己對某些算法的錯誤使用,使自己能在通過程序解決問題時抓住關鍵算法,能夠很好的夠造出解決問題的數(shù)據(jù)結(jié)構(gòu)、算法的設計思想和流程圖,并用c語言描繪出關鍵算法。
首先對于這次的課程設計題目而言,主要是對隊列這一知識點的運用。首先是對問題的分析,明白題目的具體要求,即將現(xiàn)實生活中的舞會搭配問題,用鏈隊列這一數(shù)據(jù)結(jié)構(gòu)描繪出來。用兩個鏈隊列boy和girl分別代表男生和女生,當播放每一首歌曲時,便可使兩隊各有一元素出隊列,這樣就可以模擬出搭配情況。同時,由于題目要求系統(tǒng)能模擬動態(tài)地顯示出上述過程,所以就考慮調(diào)用一個延遲函數(shù)sleep(),使歌曲之間有一段時間間隔,即模擬了顯示中的那一動態(tài)過程。其次便是在實現(xiàn)過程中遇到的具體細節(jié)問題,比如一開始設計了兩個出對函數(shù)dequeue(),讓首元素結(jié)點出隊,然后調(diào)用入隊函數(shù)add(),使其入隊到隊尾,但在測試時發(fā)現(xiàn),如果輸入的人數(shù)為2,那么在到第三首歌曲時程序便會終止;經(jīng)過分析發(fā)現(xiàn)是這兩個函數(shù)的調(diào)用,使數(shù)據(jù)出錯,所以就將這兩個出對函數(shù)用一個函數(shù)change()代替,這個函數(shù)能實現(xiàn)將首元素結(jié)點移到隊尾的功能。這樣不僅沒有了之前的問題,而且使程序更加易懂。在這些細節(jié)方面的具體設計,是對個人分析問題、解決問題能力的一個很好的鍛煉。通過這個過程的鍛煉,不僅能對所學的知識點有很好的掌握,而且還是對個人能力的很好的訓練。
其次,以前我對數(shù)據(jù)結(jié)構(gòu)(c語言描述)的一些標準庫函數(shù)不太了解,還有對函數(shù)調(diào)用的正確使用不夠熟悉,還有對c語言中經(jīng)常出現(xiàn)的錯誤也不了解,通過實踐,使我在這幾個方面的認識有所提高。讓自己有一定的能力去改正一些常見的錯誤語法,很高興這兩周的學習讓我對數(shù)據(jù)結(jié)構(gòu)(c語言描述)有了新的認識,所以后在學習過程中,我會更加注視實踐操作,使自己便好地學好計算機。在這次課程設計的實驗中,我收獲了許多知識,通過查找大量資料,請教老師,以及不懈的努力,也培養(yǎng)了獨立思考、動手操作的能力。我也學會了許多學習和解決實際問題的方法,讓我受益匪淺。課程設計對我來說,趣味性強,不僅鍛煉能力,而且可以學到很多東西,在與老師和同學的交流過程中,互動學習,將知識融會貫通,也增強了我和同學之間的團隊合作的能力。讓我們知道只要努力,集中精力解決問題,一定會有收獲的,過程也是很重要的。
在這次課程設計中我們要學會利用時間,在規(guī)定的時間內(nèi)完成我們的任務,要逐漸養(yǎng)成用c語言編寫程序的良好習慣。這些對我來說都是一種鍛煉,一個知識積累的過程,一種能力的提高。要打好基礎,才能用更好的辦法,更簡潔明了的程序解決實際問題,只有這樣才能進一步的取得更好的成績。我們會更加努力,努力的去彌補自己的缺點,發(fā)展自己的優(yōu)點,去充實自己,只有在了解了自己的長短之后,我們會更加珍惜擁有的,更加努力的去完善它,增進它。
當然我現(xiàn)在的水平還是很有限,但我還會繼續(xù)努力的,在解決實際問題時如果遇到了難題,我們要學會去查找大量的有關這方面的資料,還要借助于網(wǎng)絡不斷擴大自己的知識面和閱讀量。這樣也可以鍛煉我們的自主學習能力和解決問題的能力,學到了許多以前沒學到的東西。
在課程設計中的程序都比較復雜,所以需要我們要更加地細心,認真的完成每一步的操作,修改語法,按照老師的指導思想來完成。還記得一開始拿到題目時我們的一臉茫然,而現(xiàn)在是收獲滿滿的自信,每個人都或多或少有所收獲,也讓我們對程序設計和算法有了進一步理解、認識。