優(yōu)質(zhì)數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)(匯總24篇)

格式:DOC 上傳日期:2023-10-28 03:44:07
優(yōu)質(zhì)數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)(匯總24篇)
時(shí)間:2023-10-28 03:44:07     小編:FS文字使者

心得體會(huì)是對(duì)個(gè)人經(jīng)歷和感悟的沉淀與總結(jié)。寫心得體會(huì)時(shí),要注意語言的簡(jiǎn)練、準(zhǔn)確和生動(dòng)。以下是小編為大家收集的心得體會(huì)范文,僅供參考,希望能給大家?guī)韱l(fā)和思考。通過閱讀這些范文,我們可以學(xué)習(xí)他人的心得體會(huì)寫作技巧和經(jīng)驗(yàn),從而在自己的寫作中不斷提升。每一篇范文都有其獨(dú)到之處和不一樣的觀點(diǎn),可以幫助我們開闊思維,發(fā)現(xiàn)更多的想法和感悟。大家一起來看看,相信一定會(huì)有所收獲和啟發(fā)。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇一

課程設(shè)計(jì)的實(shí)質(zhì)是對(duì)人類已有知識(shí)經(jīng)驗(yàn)進(jìn)行有效選擇和重組,其面向未來社會(huì)成員的生存和發(fā)展,并由此展現(xiàn)價(jià)值和地位。下面是本站為大家?guī)淼臄?shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)

心得體會(huì)

,希望可以幫助大家。

這次數(shù)據(jù)庫課程設(shè)計(jì)用的是microsoft visual foxpro 6.0 ,而我們平時(shí)用的microsoft sql server 20xx,雖然對(duì)vfp完全陌生,但在老師的指引下,我們近乎完美的完成了課程設(shè)計(jì)。當(dāng)然過程是艱辛的。

面對(duì)著完全陌生的操作環(huán)境vfp,許多同學(xué)開始埋怨,要求用sql,用我們學(xué)過的asp等來完成設(shè)計(jì)。但我們慢慢發(fā)現(xiàn)用vfp做課程設(shè)計(jì)其實(shí)很有優(yōu)勢(shì),于是它的這個(gè)優(yōu)勢(shì)激發(fā)了我們?nèi)チ私馑挠?。老師先將vfp中基本的建數(shù)據(jù)庫,建表以及建表單等向我們演示了一遍,我們也仿照著做了,發(fā)覺并不是很難。但想到這次課程設(shè)計(jì)做的是一套學(xué)生學(xué)籍和成績(jī)管理系統(tǒng),我們又開始茫然了。那天,老師給我們看了一段可以讓文字循環(huán)移動(dòng)的代碼,這使我們產(chǎn)生了好奇心理,有了快速了解它的沖動(dòng)。因?yàn)橛妹嫦驅(qū)ο蟮恼Z言做特效,這還是第一次。下課之后我把那段我們不了解的語言寫的特效代碼發(fā)到了vfp論壇上請(qǐng)人幫忙解釋,最后我們完全理解了那段代碼的意思。

這次課程設(shè)計(jì)我們克服了炎熱的天氣(學(xué)校機(jī)房之前沒裝空調(diào)……后來設(shè)計(jì)完才裝……),也克服對(duì)新知識(shí)的恐懼感以及畏難情緒。我們懂得了團(tuán)隊(duì)合作的重要性,也懂得了團(tuán)隊(duì)中如何交流、如何分工,如何集體討論難點(diǎn)。我們充分利用了網(wǎng)絡(luò)資源(技術(shù)論壇,共享的實(shí)例等)。

我們喜歡這次課程設(shè)計(jì)的感覺,喜歡編程,喜歡團(tuán)隊(duì)交流。

本次課程設(shè)計(jì),使我對(duì)《數(shù)據(jù)結(jié)構(gòu)》這門課程有了更深入的理解。《數(shù)據(jù)結(jié)構(gòu)》是一門實(shí)踐性較強(qiáng)的課程,為了學(xué)好這門課程,必須在掌握理論知識(shí)的同時(shí),加強(qiáng)上機(jī)實(shí)踐。

我的課程設(shè)計(jì)題目是線索二叉樹的運(yùn)算。剛開始做這個(gè)程序的時(shí)候,感到完全無從下手,甚至讓我覺得完成這次程序設(shè)計(jì)根本就是不可能的,于是開始查閱各種資料以及參考文獻(xiàn),之后便開始著手寫程序,寫完運(yùn)行時(shí)有很多問題。特別是實(shí)現(xiàn)線索二叉樹的刪除運(yùn)算時(shí)很多情況沒有考慮周全,經(jīng)常運(yùn)行出現(xiàn)錯(cuò)誤,但通過同學(xué)間的幫助最終基本解決問題。

在本課程設(shè)計(jì)中,我明白了理論與實(shí)際應(yīng)用相結(jié)合的重要性,并提高了自己組織數(shù)據(jù)及編寫大型程序的能力。培養(yǎng)了基本的、良好的程序設(shè)計(jì)技能以及合作能力。這次課程設(shè)計(jì)同樣提高了我的綜合運(yùn)用所學(xué)知識(shí)的能力。并對(duì)vc有了更深入的了解。《數(shù)據(jù)結(jié)構(gòu)》是一門實(shí)踐性很強(qiáng)的課程,上機(jī)實(shí)習(xí)是對(duì)學(xué)生全面綜合素質(zhì)進(jìn)行訓(xùn)練的一種最基本的方法,是與課堂聽講、自學(xué)和練習(xí)相輔相成的、必不可少的一個(gè)教學(xué)環(huán)節(jié)。上機(jī)實(shí)習(xí)一方面能使書本上的知識(shí)變“活”,起到深化理解和靈活掌握教學(xué)內(nèi)容的目的;另一方面,上機(jī)實(shí)習(xí)是對(duì)學(xué)生軟件設(shè)計(jì)的綜合能力的訓(xùn)練,包括問題分析,總體結(jié)構(gòu)設(shè)計(jì),程序設(shè)計(jì)基本技能和技巧的訓(xùn)練。此外,還有更重要的一點(diǎn)是:機(jī)器是比任何教師更嚴(yán)厲的檢查者。因此,在“數(shù)據(jù)結(jié)構(gòu)”的學(xué)習(xí)過程中,必須嚴(yán)格按照老師的要求,主動(dòng)地、積極地、認(rèn)真地做好每一個(gè)實(shí)驗(yàn),以不斷提高自己的編程能力與專業(yè)素質(zhì)。

通過這段時(shí)間的課程設(shè)計(jì),我認(rèn)識(shí)到數(shù)據(jù)結(jié)構(gòu)是一門比較難的課程。需要多花時(shí)間上機(jī)練習(xí)。這次的程序訓(xùn)練培養(yǎng)了我實(shí)際分析問題、編程和動(dòng)手能力,使我掌握了程序設(shè)計(jì)的基本技能,提高了我適應(yīng)實(shí)際,實(shí)踐編程的能力。

總的來說,這次課程設(shè)計(jì)讓我獲益匪淺,對(duì)數(shù)據(jù)結(jié)構(gòu)也有了進(jìn)一步的理解和認(rèn)識(shí)。

通過本次課程設(shè)計(jì),對(duì)圖的概念有了一個(gè)新的認(rèn)識(shí),在學(xué)習(xí)離散數(shù)學(xué)的時(shí)候,總覺得圖是很抽象的東西,但是在學(xué)習(xí)了《數(shù)據(jù)結(jié)構(gòu)與算法》這門課程之后,我慢慢地體會(huì)到了其中的奧妙,圖能夠在計(jì)算機(jī)中存在,首先要捕捉他有哪些具體化、數(shù)字化的信息,比如說權(quán)值、頂點(diǎn)個(gè)數(shù)等,這也就說明了想要把生活中的信息轉(zhuǎn)化到計(jì)算機(jī)中必須用數(shù)字來完整的構(gòu)成一個(gè)信息庫,而圖的存在,又涉及到了頂點(diǎn)之間的聯(lián)系。圖分為有向圖和無向圖,而無向圖又是有向圖在權(quán)值雙向相等下的一種特例,如何能在計(jì)算機(jī)中表示一個(gè)雙向權(quán)值不同的圖,這就是一件很巧妙的事情,經(jīng)過了思考和老師同學(xué)的幫助,我用edges[i][j]=up和edges[j][i]=up就能實(shí)現(xiàn)了一個(gè)雙向圖信息的存儲(chǔ)。

對(duì)整個(gè)程序而言,dijkstra算法始終都是核心內(nèi)容,其實(shí)這個(gè)算法在實(shí)際思考中并不難,也許我們誰都知道找一個(gè)路徑最短的方法,及從頂點(diǎn)一步一步找最近的路線并與其直接距離相比較,但是,在計(jì)算機(jī)中實(shí)現(xiàn)這么一個(gè)很簡(jiǎn)單的想法就需要涉及到很多專業(yè)知識(shí),為了完成設(shè)計(jì),在前期工作中,基本都是以學(xué)習(xí)c語言為主,所以浪費(fèi)了很多時(shí)間,比如說在程序中,刪除頂點(diǎn)和增加頂點(diǎn)的模塊中都有和建圖模塊相互重復(fù)的函數(shù),但是由于技術(shù)的原因,只能做一些很累贅的函數(shù),可見在調(diào)用知識(shí)點(diǎn),我沒有掌握好。

不過,有了這次課程設(shè)計(jì)的經(jīng)驗(yàn)和教訓(xùn),我能夠很清楚的對(duì)自己定一個(gè)合適的水平,而且在這次課程設(shè)計(jì)中我學(xué)會(huì)了運(yùn)用兩個(gè)新的函數(shù)sprintf和包涵在#include頭文件中的輸入函數(shù)。因?yàn)檎n程設(shè)計(jì)的題目是求最短路徑,本來是想通過算法的實(shí)現(xiàn)把這個(gè)程序與交通情況相連,但是因?yàn)閬聿患安檎腋鞯氐男畔?,所以,這個(gè)計(jì)劃就沒有實(shí)現(xiàn),我相信在以后有更長(zhǎng)時(shí)間的情況下,我會(huì)做出來的。

1、鞏固和加深了對(duì)數(shù)據(jù)結(jié)構(gòu)的理解,提高綜合運(yùn)用本課程所學(xué)知識(shí)的能力。

2、培養(yǎng)了我選用參考書,查閱手冊(cè)及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問題、解決問題的能力。

3、通過實(shí)際編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法。

4、通過課程設(shè)計(jì),培養(yǎng)了我嚴(yán)肅認(rèn)真的工作作風(fēng),逐步建立正確的生產(chǎn)觀念、經(jīng)濟(jì)觀念和全局觀念。

根據(jù)我在實(shí)習(xí)中遇到得問題,我將在以后的學(xué)習(xí)過程中注意以下幾點(diǎn):

1、認(rèn)真上好專業(yè)實(shí)驗(yàn)課,多在實(shí)踐中鍛煉自己。

2、寫程序的過程中要考慮周到,嚴(yán)密。

3、在做設(shè)計(jì)的時(shí)候要有信心,有耐心,切勿浮躁。

4、認(rèn)真的學(xué)習(xí)課本知識(shí),掌握課本中的知識(shí)點(diǎn),并在此基礎(chǔ)上學(xué)會(huì)靈活運(yùn)用。

5、在課余時(shí)間里多寫程序,熟練掌握在調(diào)試程序的過程中所遇到的常見錯(cuò)誤,以便能節(jié)省調(diào)試程序的時(shí)間。

這是一門純屬于設(shè)計(jì)的科目,它需用把理論變?yōu)樯蠙C(jī)調(diào)試。在學(xué)習(xí)科目的第一節(jié)課起,李老師就為我們闡述了它的重要性。它對(duì)我們來說具有一定的難度。它是其它編程語言的一門基本學(xué)科。

剛開始學(xué)的時(shí)候確實(shí)有很多地方我很不理解,每次上課時(shí)老師都會(huì)給我們出不同的設(shè)計(jì)題目,對(duì)于我們一個(gè)初學(xué)者來說,無疑是一個(gè)具大的挑戰(zhàn),撞了幾次壁之后,我決定靜下心來,仔細(xì)去寫程序。老師會(huì)給我們需要編程的內(nèi)容一些講解,順著老師的思路,來完成自己的設(shè)計(jì),我們可以開始運(yùn)行自己的程序,可是好多處的錯(cuò)誤讓人看的可怕,還看不出到底是哪里出現(xiàn)了錯(cuò)誤,但是程序還是得繼續(xù)下去,我多次請(qǐng)教了老師和同學(xué),逐漸能自己找出錯(cuò)誤,并加以改正。

tc里檢查錯(cuò)誤都是用英文來顯示出來的,經(jīng)過了這次課程設(shè)計(jì),現(xiàn)在已經(jīng)可以了解很多錯(cuò)誤在英文里的提示,這對(duì)我來說是一個(gè)突破性的進(jìn)步,眼看著一個(gè)個(gè)錯(cuò)誤通過自己的努力在我眼前消失,覺得很是開心。此次的程序設(shè)計(jì)能夠成功,是我和我的同學(xué)三個(gè)人共同努力作用的結(jié)果。在這一段努力學(xué)習(xí)的過程中,我們的編程設(shè)計(jì)有了明顯的提高。

其實(shí)現(xiàn)在想起來,收獲還真是不少,雖然說以前非常不懂這門語言,在它上面花費(fèi)了好多心血,覺得它很難,是需用花費(fèi)了大量的時(shí)間編寫出來的?,F(xiàn)在真正的明白了一些代碼的應(yīng)用,每個(gè)程序都有一些共同點(diǎn),通用的結(jié)構(gòu),相似的格式。只要努力去學(xué)習(xí),就會(huì)靈活的去應(yīng)用它。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇二

“數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)”是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生的集中實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)與算法”理論和實(shí)驗(yàn)課程后進(jìn)行的一次全面的綜合練習(xí)。其目的是要達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,提高學(xué)生組織數(shù)據(jù)及編寫程序的能力,使學(xué)生能夠根據(jù)問題要求和數(shù)據(jù)對(duì)象的特性,學(xué)會(huì)數(shù)據(jù)組織的方法,把現(xiàn)實(shí)世界中的實(shí)際問題在計(jì)算機(jī)內(nèi)部表示出來并用軟件解決問題,培養(yǎng)良好的程序設(shè)計(jì)技能。

當(dāng)初拿到這次課程設(shè)計(jì)題目時(shí),似乎無從下手,但是經(jīng)過分析可知,對(duì)于簡(jiǎn)單文本編輯器來說功能有限,不外乎創(chuàng)作文本、顯示文本、統(tǒng)計(jì)文本中字母—數(shù)字—空格—特殊字符—文本總字?jǐn)?shù)、查找、刪除及插入這幾項(xiàng)功能。于是,我進(jìn)行分模塊進(jìn)行編寫程序。雖然每個(gè)模塊程序并不大,但是每個(gè)模塊都要經(jīng)過一番思考才能搞清其算法思想,只要有了算法思想,再加上c程序語言基礎(chǔ),基本完成功能,但是,每個(gè)模塊不可能一次完成而沒有一點(diǎn)錯(cuò)誤,所以,我給自己定了一個(gè)初級(jí)目標(biāo):用c語言大體描述每個(gè)算法,然后經(jīng)調(diào)試后改掉其中明顯的錯(cuò)誤,并且根據(jù)調(diào)試結(jié)果改正一些算法錯(cuò)誤,當(dāng)然,這一目標(biāo)實(shí)現(xiàn)較難。最后,經(jīng)過反復(fù)思考,看一下程序是否很完善,如果能夠達(dá)到更完善當(dāng)然最好。并非我們最初想到的算法就是最好的算法,所以,有事我們會(huì)而不得不在編寫途中終止換用其他算法,但是,我認(rèn)為這不是浪費(fèi)時(shí)間,而是一種認(rèn)識(shí)過程,在編寫程序中遇到的問題會(huì)為我們以后編寫程序積累經(jīng)驗(yàn),避免再犯同樣的錯(cuò)誤。但是,有的方法不適用于這個(gè)程序,或許會(huì)適用于另外一個(gè)程序。所以,探索的過程是成長(zhǎng)的過程,是為成功做的鋪墊。經(jīng)過努力后獲得成功,會(huì)更有成就感。

在課程設(shè)計(jì)過程中通過獨(dú)立解決問題,首先分析設(shè)計(jì)題目中涉及到的數(shù)據(jù)類型,在我們學(xué)習(xí)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中不外乎線性存儲(chǔ)結(jié)構(gòu)及非線性存儲(chǔ)結(jié)構(gòu),非線性存儲(chǔ)結(jié)構(gòu)中有樹型,集合型,圖型等存儲(chǔ)結(jié)構(gòu),根據(jù)數(shù)據(jù)類型設(shè)計(jì)數(shù)據(jù)結(jié)點(diǎn)類型。然后根據(jù)設(shè)計(jì)題目的主要任務(wù),設(shè)計(jì)出程序大體輪廓(包括子函數(shù)和主函數(shù)),然后對(duì)每個(gè)子函數(shù)進(jìn)行大體設(shè)計(jì),過程中錯(cuò)誤在所難免,所以要經(jīng)過仔細(xì)探索,對(duì)每個(gè)函數(shù)進(jìn)行改進(jìn)。

程序基本完成后,功能雖然齊全,但是程序是否完善(例如,輸入數(shù)據(jù)時(shí)是否在其范圍之內(nèi),所以加入判斷語句是很有必要的)還需運(yùn)行測(cè)試多次,如有發(fā)現(xiàn)應(yīng)該對(duì)其進(jìn)行改善,當(dāng)然要在力所能及的前提下。

課程設(shè)計(jì)過程雖然短暫,但是使我深刻理解數(shù)據(jù)結(jié)構(gòu)和算法課程對(duì)編程的重要作用,還有“數(shù)據(jù)結(jié)構(gòu)與算法”還提供了一些常用的基本算法思想及算法的編寫程序。通過獨(dú)立完成設(shè)計(jì)題目,使我系統(tǒng)了解編程的基本步驟,提高分析和解決實(shí)際問題的能力。通過實(shí)踐積累經(jīng)驗(yàn),才能有所創(chuàng)新。正所謂,良好的基礎(chǔ)決定上層建筑。只有基本功做好了,才有可能做出更好的成果。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇三

做了一個(gè)星期的程序設(shè)計(jì)終于做完了,在這次程序設(shè)計(jì)課中,真是讓我獲益匪淺,我突然發(fā)現(xiàn)寫程序還挺有意思的。由于上學(xué)期的c語言跟這學(xué)期的數(shù)據(jù)結(jié)構(gòu)都算不上真正的懂,對(duì)于書上的稍微難點(diǎn)的知識(shí)就是是而非的,所以我只是對(duì)老師的程序理解,我也試著去改變了一些變量,自己也盡量多的去理解老師做程序的思路。當(dāng)我第一天坐在那里的時(shí)候,我就不知道該做些什么,后來我只有下來自己看了一遍書來熟悉下以前學(xué)過的知識(shí)。

通過這次的程序設(shè)計(jì),發(fā)現(xiàn)一個(gè)程序設(shè)計(jì)就是算法與數(shù)據(jù)結(jié)構(gòu)的結(jié)合體,自己也開始對(duì)程序產(chǎn)生了前所未有的興趣,以前偷工減料的學(xué)習(xí)也不可能一下子寫出一個(gè)程序出來,于是我就認(rèn)真看老師寫的程序,發(fā)現(xiàn)我們看懂了一個(gè)程序其實(shí)不難,難的是對(duì)于一個(gè)程序的思想的理解,我們要掌握一個(gè)算法,不僅僅限于讀懂,主要的是要理解老師的思路,學(xué)習(xí)老師的解決問題的'方法。這次試驗(yàn)中,我發(fā)現(xiàn)書本上的知識(shí)是一個(gè)基礎(chǔ),但是我基礎(chǔ)都沒掌握,更別說寫出一個(gè)整整的程序了。自己在寫程序的時(shí)候,也發(fā)現(xiàn)自己的知識(shí)太少了,特別是基礎(chǔ)知識(shí)很多都是模模糊糊的一個(gè)概念,沒有落實(shí)到真正的程序,所以自己寫的時(shí)候也感到萬分痛苦,基本上涉及一個(gè)知識(shí)我就會(huì)去看看書,對(duì)于書本上的知識(shí)沒掌握好。在飯后閑暇時(shí)間我也總結(jié)了一下,自己以前上課也認(rèn)真的聽了,但是還是寫不出來,這主要?dú)w結(jié)于自己的練習(xí)太少了,而且也總是半懂就不管了。在改寫老師的程序中也出現(xiàn)了很多的問題,不斷的修改就是不斷的學(xué)習(xí)過程,當(dāng)我們?nèi)硇牡耐度肫渲袝r(shí),實(shí)際上是一件很有樂趣的事情。對(duì)于以后的學(xué)習(xí)有了幾點(diǎn)總結(jié):

第二、各種常用的排序算法,如冒泡排序、堆排序……,這些

是必考的內(nèi)容,分?jǐn)?shù)不會(huì)少于20%;

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇四

《數(shù)據(jù)結(jié)構(gòu)》是一門實(shí)踐性較強(qiáng)的課程,為了學(xué)好這門課程,必須在掌握理論知識(shí)的同時(shí),加強(qiáng)上機(jī)實(shí)踐。

接下來就跟本站小編一起去了解一下關(guān)于數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)

心得體會(huì)

吧!

決問題和在老師的幫助下一步一步慢慢的正確運(yùn)行程序, 決問題和在老師的幫助下一步一步慢慢的正確運(yùn)行程序,終 于完成了這次課程設(shè)計(jì), 于完成了這次課程設(shè)計(jì),雖然這次課程設(shè)計(jì)結(jié)束了但是總覺 得自已懂得的知識(shí)很是不足,學(xué)無止境, 得自已懂得的知識(shí)很是不足,學(xué)無止境,以后還會(huì)更加的努 力深入的學(xué)習(xí)。 力深入的學(xué)習(xí)。

本次課程設(shè)計(jì),使我對(duì)《數(shù)據(jù)結(jié)構(gòu)》這門課程有了更深入的理解。我的課程設(shè)計(jì)題目是線索二叉樹的運(yùn)算。剛開始做這個(gè)程序的時(shí)候,感到完全無從下手,甚至讓我覺得完成這次程序設(shè)計(jì)根本就是不可能的,于是開始查閱各種資料以及參考文獻(xiàn),之后便開始著手寫程序,寫完運(yùn)行時(shí)有很多問題。特別是實(shí)現(xiàn)線索二叉樹的刪除運(yùn)算時(shí)很多情況沒有考慮周全,經(jīng)常運(yùn)行出現(xiàn)錯(cuò)誤,但通過同學(xué)間的幫助最終基本解決問題。

在本課程設(shè)計(jì)中,我明白了理論與實(shí)際應(yīng)用相結(jié)合的重要性,并提高了自己組織數(shù)據(jù)及編寫大型程序的能力。培養(yǎng)了基本的、良好的程序設(shè)計(jì)技能以及合作能力。這次課程設(shè)計(jì)同樣提高了我的綜合運(yùn)用所學(xué)知識(shí)的能力。并對(duì)vc有了更深入的了解?!稊?shù)據(jù)結(jié)構(gòu)》是一門實(shí)踐性很強(qiáng)的課程,上機(jī)實(shí)習(xí)是對(duì)學(xué)生全面綜合素質(zhì)進(jìn)行訓(xùn)練的一種最基本的方法,是與課堂聽講、自學(xué)和練習(xí)相輔相成的、必不可少的一個(gè)教學(xué)環(huán)節(jié)。上機(jī)實(shí)習(xí)一方面能使書本上的知識(shí)變“活”,起到深化理解和靈活掌握教學(xué)內(nèi)容的目的;另一方面,上機(jī)實(shí)習(xí)是對(duì)學(xué)生軟件設(shè)計(jì)的綜合能力的訓(xùn)練,包括問題分析,總體結(jié)構(gòu)設(shè)計(jì),程序設(shè)計(jì)基本技能和技巧的訓(xùn)練。此外,還有更重要的一點(diǎn)是:機(jī)器是比任何教師更嚴(yán)厲的檢查者。因此,在“數(shù)據(jù)結(jié)構(gòu)”的學(xué)習(xí)過程中,必須嚴(yán)格按照老師的要求,主動(dòng)地、積極地、認(rèn)真地做好每一個(gè)實(shí)驗(yàn),以不斷提高自己的編程能力與專業(yè)素質(zhì)。

通過這段時(shí)間的課程設(shè)計(jì),我認(rèn)識(shí)到數(shù)據(jù)結(jié)構(gòu)是一門比較難的課程。需要多花時(shí)間上機(jī)練習(xí)。這次的程序訓(xùn)練培養(yǎng)了我實(shí)際分析問題、編程和動(dòng)手能力,使我掌握了程序設(shè)計(jì)的基本技能,提高了我適應(yīng)實(shí)際,實(shí)踐編程的能力。

總的來說,這次課程設(shè)計(jì)讓我獲益匪淺,對(duì)數(shù)據(jù)結(jié)構(gòu)也有了進(jìn)一步的理解和認(rèn)識(shí)。

通過本次課程設(shè)計(jì),對(duì)圖的概念有了一個(gè)新的認(rèn)識(shí),在學(xué)習(xí)離散數(shù)學(xué)的時(shí)候,總覺得圖是很抽象的東西,但是在學(xué)習(xí)了《數(shù)據(jù)結(jié)構(gòu)與算法》這門課程之后,我慢慢地體會(huì)到了其中的奧妙,圖能夠在計(jì)算機(jī)中存在,首先要捕捉他有哪些具體化、數(shù)字化的信息,比如說權(quán)值、頂點(diǎn)個(gè)數(shù)等,這也就說明了想要把生活中的信息轉(zhuǎn)化到計(jì)算機(jī)中必須用數(shù)字來完整的構(gòu)成一個(gè)信息庫,而圖的存在,又涉及到了頂點(diǎn)之間的聯(lián)系。圖分為有向圖和無向圖,而無向圖又是有向圖在權(quán)值雙向相等下的一種特例,如何能在計(jì)算機(jī)中表示一個(gè)雙向權(quán)值不同的圖,這就是一件很巧妙的事情,經(jīng)過了思考和老師同學(xué)的幫助,我用 edges[i][j]=up 和 edges[j][i]=up 就能實(shí)現(xiàn)了一個(gè)雙向圖信息的存儲(chǔ)。對(duì)整個(gè)程序而言,dijkstra 算法始終都是核心內(nèi)容,其實(shí)這個(gè)算法在實(shí)際思考中并不難,也許我們誰都知道找一個(gè)路徑最短的方法,及從頂點(diǎn)一步一步找最近的路線并與其直接距離相比較,但是,在計(jì)算機(jī)中實(shí)現(xiàn)這么一個(gè)很簡(jiǎn)單的想法就需要涉及到很多專業(yè)知識(shí),為了完成設(shè)計(jì),在前期工作中,基本都是以學(xué)習(xí)c 語言為主,所以浪費(fèi)了很多時(shí)間,比如說在程序中,刪除頂點(diǎn)和增加頂點(diǎn)的模塊中都有和建圖模塊相互重復(fù)的函數(shù),但是由于技術(shù)的原因,只能做一些很累贅的函數(shù),可見在調(diào)用知識(shí)點(diǎn),我沒有掌握好。不過,有了這次課程設(shè)計(jì)的經(jīng)驗(yàn)和教訓(xùn),我能夠很清楚的對(duì)自己定一個(gè)合適的水平,而且在這次課程設(shè)計(jì)中我學(xué)會(huì)了運(yùn)用兩個(gè)新的函數(shù)sprintf和包涵在#include 頭文件中的輸入函數(shù)。因?yàn)檎n程設(shè)計(jì)的題目是求最短路徑,本來是想通過算法的實(shí)現(xiàn)把這個(gè)程序與交通情況相連,但是因?yàn)閬聿患安檎腋鞯氐男畔ⅲ?,這個(gè)計(jì)劃就沒有實(shí)現(xiàn),我相信在以后有更長(zhǎng)時(shí)間的情況下,我會(huì)做出來的。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇五

陳康蔭080401200708級(jí)計(jì)科系計(jì)本(2)班

完成了這次的二元多項(xiàng)式加減運(yùn)算問題的課程設(shè)計(jì)后,我的心得體會(huì)很多,細(xì)細(xì)梳理一下,有以下幾點(diǎn):

1、程序的編寫中的語法錯(cuò)誤及修改

因?yàn)槲以诮鉀Q二元多項(xiàng)式問題中,使用了鏈表的方式建立的二元多項(xiàng)式,所以程序的空間是動(dòng)態(tài)的生成的,而且鏈表可以靈活地添加或刪除結(jié)點(diǎn),所以使得程序得到簡(jiǎn)化。但是出現(xiàn)的語法問題主要在于子函數(shù)和變量的定義,降序排序,關(guān)鍵字和函數(shù)名稱的書寫,以及一些庫函數(shù)的規(guī)范使用,這些問題均可以根據(jù)編譯器的警告提示,對(duì)應(yīng)的將其解決。

2、程序的設(shè)計(jì)中的邏輯問題及其調(diào)整

我在設(shè)計(jì)程序的過程中遇到許多問題,首先在選擇數(shù)據(jù)結(jié)構(gòu)的時(shí)候選擇了鏈表,但是鏈表的排序比較困難,特別是在多關(guān)鍵字的情況下,在一種關(guān)鍵字確定了順序以后,在第一關(guān)鍵字相同的時(shí)候,按某種順序?qū)Φ诙P(guān)鍵字進(jìn)行排序。在此程序中共涉及到3個(gè)量數(shù),即:系數(shù),x的指數(shù)和y的指數(shù),而關(guān)鍵字排是按x的指數(shù)和y的指數(shù)來看,由于要求是降冪排序且含有2個(gè)關(guān)鍵字,所以我先選擇x的指數(shù)作為第一關(guān)鍵字,先按x的降序來排序,當(dāng)x的指數(shù)相同時(shí),再以y為關(guān)鍵字,按照y的指數(shù)大小來進(jìn)行降序排列。

另外,我在加法函數(shù)的編寫過程中也遇到了大量的問題,由于要同時(shí)比較多個(gè)關(guān)鍵字,而且設(shè)計(jì)中涉及了數(shù)組和鏈表的綜合運(yùn)用,導(dǎo)致反復(fù)修改了很長(zhǎng)的時(shí)間才完成了一個(gè)加法的設(shè)計(jì)。但是,現(xiàn)在仍然有一個(gè)問題存在:若以0為系數(shù)的項(xiàng)是首項(xiàng)則顯示含有此項(xiàng),但是運(yùn)算后則自動(dòng)消除此項(xiàng),這樣是正確的。但是當(dāng)其不是首項(xiàng)的時(shí)候,加法函數(shù)在顯示的時(shí)候有0為系數(shù)的項(xiàng)時(shí),0前邊不顯示符號(hào),當(dāng)然,這樣也可以理解成當(dāng)系數(shù)為0時(shí),忽略這一項(xiàng)。這也是本程序中一個(gè)不完美的地方。

我在設(shè)計(jì)減法函數(shù)的時(shí)候由于考慮不夠充分就直接編寫程序,走了很多彎路,不得不停下來仔細(xì)研究算法,后來發(fā)現(xiàn)由于前邊的加法函數(shù)完全適用于減法,只不過是將二元多項(xiàng)式b的所有項(xiàng)取負(fù)再用加法函數(shù)即可,可見算法的重要性不低于程序本身。

3、程序的調(diào)試中的經(jīng)驗(yàn)及體會(huì)

我在調(diào)試過程中,發(fā)生了許多小細(xì)節(jié)上的問題,它們提醒了自己在以后編程的時(shí)候要注意細(xì)節(jié),即使是一個(gè)括號(hào)的遺漏或者一個(gè)字符的誤寫都會(huì)造成大量的錯(cuò)誤,浪費(fèi)許多時(shí)間去尋找并修改,總結(jié)的教訓(xùn)就是寫程序的時(shí)候,一定要仔細(xì)、認(rèn)真、專注。

我還有一個(gè)很深的體會(huì)就是格式和注釋,由于平時(shí)不注意格式和注釋這方面的要求,導(dǎo)致有的時(shí)候在檢查和調(diào)試的時(shí)候很不方便。有的時(shí)候甚至剛剛完成一部分的編輯,結(jié)果一不注意,就忘記了這一部分程序的功能。修改的時(shí)候也有不小心誤刪的情況出現(xiàn)。如果注意格式風(fēng)格,并且養(yǎng)成隨手加注釋的習(xí)慣,就能減少這些不必要的反復(fù)和波折。還有一點(diǎn),就是在修改的時(shí)候,要注意修改前后的不同點(diǎn)在哪里,改后調(diào)試結(jié)果要在原有的基礎(chǔ)上更加精確。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇六

專業(yè)知識(shí),為了完成設(shè)計(jì),在前期工作中,基本都是以學(xué)習(xí)c語言為主,所以浪費(fèi)了很多時(shí)間,比如說在程序中,刪除頂點(diǎn)和增加頂點(diǎn)的模塊中都有和建圖模塊相互重復(fù)的函數(shù),但是由于技術(shù)的原因,只能做一些很累贅的函數(shù),可見在調(diào)用知識(shí)點(diǎn),我沒有掌握好。

不過,有了這次課程設(shè)計(jì)的經(jīng)驗(yàn)和教訓(xùn),我能夠很清楚的對(duì)自己定一個(gè)合適的水平,而且在這次課程設(shè)計(jì)中我學(xué)會(huì)了運(yùn)用兩個(gè)新的函數(shù)sprintf和包涵在#include頭文件中的輸入函數(shù)。因?yàn)檎n程設(shè)計(jì)的題目是求最短路徑,本來是想通過算法的實(shí)現(xiàn)把這個(gè)程序與交通情況相連,但是因?yàn)閬聿患安檎腋鞯氐男畔ⅲ?,這個(gè)計(jì)劃就沒有實(shí)現(xiàn),我相信在以后有更長(zhǎng)時(shí)間的情況下,我會(huì)做出來的。

1、鞏固和加深了對(duì)數(shù)據(jù)結(jié)構(gòu)的理解,提高綜合運(yùn)用本課程所學(xué)知識(shí)的能力。

2、培養(yǎng)了我選用參考書,查閱手冊(cè)及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問題、解決問題的能力。

3、通過實(shí)際編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法。

4、通過課程設(shè)計(jì),培養(yǎng)了我嚴(yán)肅認(rèn)真的工作作風(fēng),逐步建立正確的生產(chǎn)觀念、經(jīng)濟(jì)觀念和全局觀念。

根據(jù)我在實(shí)習(xí)中遇到得問題,我將在以后的學(xué)習(xí)過程中注意以下幾點(diǎn):

1、認(rèn)真上好專業(yè)實(shí)驗(yàn)課,多在實(shí)踐中鍛煉自己。2、寫程序的過程中要考慮周到,嚴(yán)密。

3、在做設(shè)計(jì)的時(shí)候要有信心,有耐心,切勿浮躁。4、認(rèn)真的學(xué)習(xí)課本知識(shí),掌握課本中的知識(shí)點(diǎn),并在此基礎(chǔ)上學(xué)會(huì)靈活運(yùn)用。

5、在課余時(shí)間里多寫程序,熟練掌握在調(diào)試程序的過程中所遇到的常見錯(cuò)誤,以便能節(jié)省調(diào)試程序的時(shí)間。

這是一門純屬于設(shè)計(jì)的科目,它需用把理論變?yōu)樯蠙C(jī)調(diào)試。在學(xué)習(xí)科目的第一節(jié)課起,李老師就為我們闡述了它的重要性。它對(duì)我們來說具有一定的難度。它是其它編程語言的一門基本學(xué)科。

己找出錯(cuò)誤,并加以改正。

tc里檢查錯(cuò)誤都是用英文來顯示出來的,經(jīng)過了這次課程設(shè)計(jì),現(xiàn)在已經(jīng)可以了解很多錯(cuò)誤在英文里的提示,這對(duì)我來說是一個(gè)突破性的進(jìn)步,眼看著一個(gè)個(gè)錯(cuò)誤通過自己的努力在我眼前消失,覺得很是開心。此次的程序設(shè)計(jì)能夠成功,是我和我的同學(xué)三個(gè)人共同努力作用的結(jié)果。在這一段努力學(xué)習(xí)的過程中,我們的編程設(shè)計(jì)有了明顯的提高。

其實(shí)現(xiàn)在想起來,收獲還真是不少,雖然說以前非常不懂這門語言,在它上面花費(fèi)了好多心血,覺得它很難,是需用花費(fèi)了大量的時(shí)間編寫出來的?,F(xiàn)在真正的明白了一些代碼的應(yīng)用,每個(gè)程序都有一些共同點(diǎn),通用的結(jié)構(gòu),相似的格式。只要努力去學(xué)習(xí),就會(huì)靈活的去應(yīng)用它。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇七

完成了這次的二元多項(xiàng)式加減運(yùn)算問題的課程設(shè)計(jì)后,我的心得體會(huì)很多,細(xì)細(xì)梳理一下,有以下幾點(diǎn):

1、程序的編寫中的語法錯(cuò)誤及修改

因?yàn)槲以诮鉀Q二元多項(xiàng)式問題中,使用了鏈表的方式建立的二元多項(xiàng)式,所以程序的空間是動(dòng)態(tài)的生成的,而且鏈表可以靈活地添加或刪除結(jié)點(diǎn),所以使得程序得到簡(jiǎn)化。但是出現(xiàn)的語法問題主要在于子函數(shù)和變量的定義,降序排序,關(guān)鍵字和函數(shù)名稱的書寫,以及一些庫函數(shù)的規(guī)范使用,這些問題均可以根據(jù)編譯器的警告提示,對(duì)應(yīng)的將其解決。

2、程序的設(shè)計(jì)中的邏輯問題及其調(diào)整

我在設(shè)計(jì)程序的過程中遇到許多問題,首先在選擇數(shù)據(jù)結(jié)構(gòu)的時(shí)候選擇了鏈表,但是鏈表的排序比較困難,特別是在多關(guān)鍵字的情況下,在一種關(guān)鍵字確定了順序以后,在第一關(guān)鍵字相同的時(shí)候,按某種順序?qū)Φ诙P(guān)鍵字進(jìn)行排序。在此程序中共涉及到3個(gè)量數(shù),即:系數(shù),x的指數(shù)和y的指數(shù),而關(guān)鍵字排是按x的指數(shù)和y的指數(shù)來看,由于要求是降冪排序且含有2個(gè)關(guān)鍵字,所以我先選擇x的指數(shù)作為第一關(guān)鍵字,先按x的降序來排序,當(dāng)x的指數(shù)相同時(shí),再以y為關(guān)鍵字,按照y的指數(shù)大小來進(jìn)行降序排列。

另外,我在加法函數(shù)的編寫過程中也遇到了大量的問題,由于要同時(shí)比較多個(gè)關(guān)鍵字,而且設(shè)計(jì)中涉及了數(shù)組和鏈表的綜合運(yùn)用,導(dǎo)致反復(fù)修改了很長(zhǎng)的時(shí)間才完成了一個(gè)加法的設(shè)計(jì)。但是,現(xiàn)在仍然有一個(gè)問題存在:若以0為系數(shù)的項(xiàng)是首項(xiàng)則顯示含有此項(xiàng),但是運(yùn)算后則自動(dòng)消除此項(xiàng),這樣是正確的。但是當(dāng)其不是首項(xiàng)的時(shí)候,加法函數(shù)在顯示的時(shí)候有0為系數(shù)的項(xiàng)時(shí),0前邊不顯示符號(hào),當(dāng)然,這樣也可以理解成當(dāng)系數(shù)為0時(shí),忽略這一項(xiàng)。這也是本程序中一個(gè)不完美的地方。

我在設(shè)計(jì)減法函數(shù)的時(shí)候由于考慮不夠充分就直接編寫程序,走了很多彎路,不得不停下來仔細(xì)研究算法,后來發(fā)現(xiàn)由于前邊的加法函數(shù)完全適用于減法,只不過是將二元多項(xiàng)式b的所有項(xiàng)取負(fù)再用加法函數(shù)即可,可見算法的重要性不低于程序本身。

3、程序的調(diào)試中的經(jīng)驗(yàn)及體會(huì)

我在調(diào)試過程中,發(fā)生了許多小細(xì)節(jié)上的問題,它們提醒了自己在以后編程的時(shí)候要注意細(xì)節(jié),即使是一個(gè)括號(hào)的遺漏或者一個(gè)字符的誤寫都會(huì)造成大量的錯(cuò)誤,浪費(fèi)許多時(shí)間去尋找并修改,總結(jié)的教訓(xùn)就是寫程序的時(shí)候,一定要仔細(xì)、認(rèn)真、專注。

我還有一個(gè)很深的體會(huì)就是格式和注釋,由于平時(shí)不注意格式和注釋這方面的要求,導(dǎo)致有的時(shí)候在檢查和調(diào)試的時(shí)候很不方便。有的時(shí)候甚至剛剛完成一部分的編輯,結(jié)果一不注意,就忘記了這一部分程序的功能。修改的時(shí)候也有不小心誤刪的情況出現(xiàn)。如果注意格式風(fēng)格,并且養(yǎng)成隨手加注釋的習(xí)慣,就能減少這些不必要的反復(fù)和波折。還有一點(diǎn),就是在修改的時(shí)候,要注意修改前后的不同點(diǎn)在哪里,改后調(diào)試結(jié)果要在原有的基礎(chǔ)上更加精確。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇八

通過本次課程設(shè)計(jì),對(duì)圖的概念有了一個(gè)新的認(rèn)識(shí),在學(xué)習(xí)離散數(shù)學(xué)的時(shí)候,總覺得圖是很抽象的東西,但是在學(xué)習(xí)了《數(shù)據(jù)結(jié)構(gòu)與算法》這門課程之后,我慢慢地體會(huì)到了其中的`奧妙,圖能夠在計(jì)算機(jī)中存在,首先要捕捉他有哪些具體化、數(shù)字化的信息,比如說權(quán)值、頂點(diǎn)個(gè)數(shù)等,這也就說明了想要把生活中的信息轉(zhuǎn)化到計(jì)算機(jī)中必須用數(shù)字來完整的構(gòu)成一個(gè)信息庫,而圖的存在,又涉及到了頂點(diǎn)之間的聯(lián)系。圖分為有向圖和無向圖,而無向圖又是有向圖在權(quán)值雙向相等下的一種特例,如何能在計(jì)算機(jī)中表示一個(gè)雙向權(quán)值不同的圖,這就是一件很巧妙的事情,經(jīng)過了思考和老師同學(xué)的幫助,我用edges[i][j]=up和edges[j][i]=up就能實(shí)現(xiàn)了一個(gè)雙向圖信息的存儲(chǔ)。

對(duì)整個(gè)程序而言,dijkstra算法始終都是核心內(nèi)容,其實(shí)這個(gè)算法在實(shí)際思考中并不難,也許我們誰都知道找一個(gè)路徑最短的方法,及從頂點(diǎn)一步一步找最近的路線并與其直接距離相比較,但是,在計(jì)算機(jī)中實(shí)現(xiàn)這么一個(gè)很簡(jiǎn)單的想法就需要涉及到很多專業(yè)知識(shí),為了完成設(shè)計(jì),在前期工作中,基本都是以學(xué)習(xí)c語言為主,所以浪費(fèi)了很多時(shí)間,比如說在程序中,刪除頂點(diǎn)和增加頂點(diǎn)的模塊中都有和建圖模塊相互重復(fù)的函數(shù),但是由于技術(shù)的原因,只能做一些很累贅的函數(shù),可見在調(diào)用知識(shí)點(diǎn),我沒有掌握好。

不過,有了這次課程設(shè)計(jì)的經(jīng)驗(yàn)和教訓(xùn),我能夠很清楚的對(duì)自己定一個(gè)合適的水平,而且在這次課程設(shè)計(jì)中我學(xué)會(huì)了運(yùn)用兩個(gè)新的函數(shù)sprintf和包涵在#include頭文件中的輸入函數(shù)。因?yàn)檎n程設(shè)計(jì)的題目是求最短路徑,本來是想通過算法的實(shí)現(xiàn)把這個(gè)程序與交通情況相連,但是因?yàn)閬聿患安檎腋鞯氐男畔?,所以,這個(gè)計(jì)劃就沒有實(shí)現(xiàn),我相信在以后有更長(zhǎng)時(shí)間的情況下,我會(huì)做出來的。

1、鞏固和加深了對(duì)數(shù)據(jù)結(jié)構(gòu)的理解,提高綜合運(yùn)用本課程所學(xué)知識(shí)的能力。

2、培養(yǎng)了我選用參考書,查閱手冊(cè)及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問題、解決問題的能力。

3、通過實(shí)際編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法。

4、通過課程設(shè)計(jì),培養(yǎng)了我嚴(yán)肅認(rèn)真的工作作風(fēng),逐步建立正確的生產(chǎn)觀念、經(jīng)濟(jì)觀念和全局觀念。

根據(jù)我在實(shí)習(xí)中遇到得問題,我將在以后的學(xué)習(xí)過程中注意以下幾點(diǎn):

1、認(rèn)真上好專業(yè)實(shí)驗(yàn)課,多在實(shí)踐中鍛煉自己。

2、寫程序的過程中要考慮周到,嚴(yán)密。

3、在做設(shè)計(jì)的時(shí)候要有信心,有耐心,切勿浮躁。

4、認(rèn)真的學(xué)習(xí)課本知識(shí),掌握課本中的知識(shí)點(diǎn),并在此基礎(chǔ)上學(xué)會(huì)靈活運(yùn)用。

5、在課余時(shí)間里多寫程序,熟練掌握在調(diào)試程序的過程中所遇到的常見錯(cuò)誤,以便能節(jié)省調(diào)試程序的時(shí)間。

這是一門純屬于設(shè)計(jì)的科目,它需用把理論變?yōu)樯蠙C(jī)調(diào)試。在學(xué)習(xí)科目的第一節(jié)課起,李老師就為我們闡述了它的重要性。它對(duì)我們來說具有一定的難度。它是其它編程語言的一門基本學(xué)科。

剛開始學(xué)的時(shí)候確實(shí)有很多地方我很不理解,每次上課時(shí)老師都會(huì)給我們出不同的設(shè)計(jì)題目,對(duì)于我們一個(gè)初學(xué)者來說,無疑是一個(gè)具大的挑戰(zhàn),撞了幾次壁之后,我決定靜下心來,仔細(xì)去寫程序。老師會(huì)給我們需要編程的內(nèi)容一些講解,順著老師的思路,來完成自己的設(shè)計(jì),我們可以開始運(yùn)行自己的程序,可是好多處的錯(cuò)誤讓人看的可怕,還看不出到底是哪里出現(xiàn)了錯(cuò)誤,但是程序還是得繼續(xù)下去,我多次請(qǐng)教了老師和同學(xué),逐漸能自己找出錯(cuò)誤,并加以改正。

tc里檢查錯(cuò)誤都是用英文來顯示出來的,經(jīng)過了這次課程設(shè)計(jì),現(xiàn)在已經(jīng)可以了解很多錯(cuò)誤在英文里的提示,這對(duì)我來說是一個(gè)突破性的進(jìn)步,眼看著一個(gè)個(gè)錯(cuò)誤通過自己的努力在我眼前消失,覺得很是開心。此次的程序設(shè)計(jì)能夠成功,是我和我的同學(xué)三個(gè)人共同努力作用的結(jié)果。在這一段努力學(xué)習(xí)的過程中,我們的編程設(shè)計(jì)有了明顯的提高。

其實(shí)現(xiàn)在想起來,收獲還真是不少,雖然說以前非常不懂這門語言,在它上面花費(fèi)了好多心血,覺得它很難,是需用花費(fèi)了大量的時(shí)間編寫出來的?,F(xiàn)在真正的明白了一些代碼的應(yīng)用,每個(gè)程序都有一些共同點(diǎn),通用的結(jié)構(gòu),相似的格式。只要努力去學(xué)習(xí),就會(huì)靈活的去應(yīng)用它。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇九

這次課程設(shè)計(jì)的心得體會(huì)通過實(shí)習(xí)我的收獲如下:

1、鞏固和加深了對(duì)數(shù)據(jù)結(jié)構(gòu)的理解,提高綜合運(yùn)用本課程所學(xué)知識(shí)的能力。

2、培養(yǎng)了我選用參考書,查閱手冊(cè)及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問題、解決問題的能力。

3、通過實(shí)際編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法。

4、通過課程設(shè)計(jì),培養(yǎng)了我嚴(yán)肅認(rèn)真的工作作風(fēng),逐步建立正確的生產(chǎn)觀念、經(jīng)濟(jì)觀念和全局觀念。從剛開始得覺得很難,到最后把這個(gè)做出來,付出了很多,也得到了很多,以前總以為自己對(duì)編程的地方還不行,現(xiàn)在,才發(fā)現(xiàn)只要認(rèn)真做,沒有什么不可能。

編程時(shí)要認(rèn)真仔細(xì),出現(xiàn)錯(cuò)誤要及時(shí)找出并改正,(其中對(duì)英語的要求也體現(xiàn)出來了,因?yàn)樗f明錯(cuò)誤的時(shí)候都是英語)遇到問題要去查相關(guān)的資料。反復(fù)的調(diào)試程序,最好是多找?guī)讉€(gè)同學(xué)來對(duì)你的程序進(jìn)行調(diào)試并聽其對(duì)你的程序的建議,在他們不知道程序怎么寫的時(shí)候完全以一個(gè)用戶的身份來用對(duì)你的用戶界面做一些建議,正所謂當(dāng)局者迷旁觀者清,把各個(gè)注意的問題要想到;同時(shí)要形成自己的編寫程序與調(diào)試程序的風(fēng)格,從每個(gè)細(xì)節(jié)出發(fā),不放過每個(gè)知識(shí)點(diǎn),注意與理論的聯(lián)系和理論與實(shí)踐的差別。另外,要注意符號(hào)的使用,注意對(duì)字符處理,特別是對(duì)指針的使用很容易出錯(cuò)且調(diào)試過程是不會(huì)報(bào)錯(cuò)的,那么我們要始終注意指針的初始化不管它怎么用以免不必要麻煩。

通過近兩周的學(xué)習(xí)與實(shí)踐,體驗(yàn)了一下離開課堂的學(xué)習(xí),也可以理解為一次實(shí)踐與理論的很好的連接。特別是本組所做的題目都是課堂上所講的例子,在實(shí)行之的過程中并不是那么容易事讓人有一種紙上談兵的體會(huì),正所謂紙上得來終覺淺絕知此事要躬行。實(shí)訓(xùn)過程中讓我們對(duì)懂得的知識(shí)做了進(jìn)一步深入了解,讓我們的理解與記憶更深刻,對(duì)不懂的知識(shí)與不清楚的東西也做了一定的了解,也形成了一定的個(gè)人做事風(fēng)格。

通過這次課程設(shè)計(jì),讓我對(duì)一個(gè)程序的數(shù)據(jù)結(jié)構(gòu)有更全面更進(jìn)一步的認(rèn)識(shí),根據(jù)不同的需求,采用不同的數(shù)據(jù)存儲(chǔ)方式,不一定要用棧,二叉樹等高級(jí)類型,有時(shí)用基本的一維數(shù)組,只要運(yùn)用得當(dāng),也能達(dá)到相同的效果,甚至更佳,就如這次的課程設(shè)計(jì),通過用for的多重循環(huán),舍棄多余的循環(huán),提高了程序的運(yùn)行效率。在編寫這個(gè)程序的過程中,我復(fù)習(xí)了之前學(xué)的基本語法,哈弗曼樹最小路徑的求取,哈弗曼編碼及譯碼的應(yīng)用范圍,程序結(jié)構(gòu)算法等一系列的問題它使我對(duì)數(shù)據(jù)結(jié)構(gòu)改變了看法。在這次設(shè)計(jì)過程中,體現(xiàn)出自己?jiǎn)为?dú)設(shè)計(jì)模具的能力以及綜合運(yùn)用知識(shí)的能力,體會(huì)了學(xué)以致用、突出自己勞動(dòng)成果的喜悅心情,也從中發(fā)現(xiàn)自己平時(shí)學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補(bǔ)。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇十

在兩周的學(xué)習(xí)和實(shí)踐過程中,通過解決學(xué)生搭配問題這一實(shí)際問題,讓我對(duì)循環(huán)隊(duì)列有了更深的了解,對(duì)數(shù)據(jù)結(jié)構(gòu)也產(chǎn)生了更加濃厚的興趣,同時(shí)也是對(duì)我解決實(shí)際問題能力的一次提升。

記得王教授給我們上課時(shí)就要不斷的通過走算法的方式,掌握所學(xué)習(xí)的數(shù)據(jù)結(jié)構(gòu)、算法等,而上機(jī)則能進(jìn)一步鞏固自己所學(xué)的知識(shí)、提高自己的學(xué)習(xí)能力。在上機(jī)的同時(shí)也改正了自己對(duì)某些算法的錯(cuò)誤使用,使自己能在通過程序解決問題時(shí)抓住關(guān)鍵算法,能夠很好的夠造出解決問題的數(shù)據(jù)結(jié)構(gòu)、算法的設(shè)計(jì)思想和流程圖,并用c語言描繪出關(guān)鍵算法。

首先對(duì)于這次的課程設(shè)計(jì)題目而言,主要是對(duì)隊(duì)列這一知識(shí)點(diǎn)的運(yùn)用。首先是對(duì)問題的分析,明白題目的具體要求,即將現(xiàn)實(shí)生活中的舞會(huì)搭配問題,用鏈隊(duì)列這一數(shù)據(jù)結(jié)構(gòu)描繪出來。用兩個(gè)鏈隊(duì)列boy和girl分別代表男生和女生,當(dāng)播放每一首歌曲時(shí),便可使兩隊(duì)各有一元素出隊(duì)列,這樣就可以模擬出搭配情況。同時(shí),由于題目要求系統(tǒng)能模擬動(dòng)態(tài)地顯示出上述過程,所以就考慮調(diào)用一個(gè)延遲函數(shù)sleep(),使歌曲之間有一段時(shí)間間隔,即模擬了顯示中的那一動(dòng)態(tài)過程。其次便是在實(shí)現(xiàn)過程中遇到的具體細(xì)節(jié)問題,比如一開始設(shè)計(jì)了兩個(gè)出對(duì)函數(shù)dequeue(),讓首元素結(jié)點(diǎn)出隊(duì),然后調(diào)用入隊(duì)函數(shù)add(),使其入隊(duì)到隊(duì)尾,但在測(cè)試時(shí)發(fā)現(xiàn),如果輸入的人數(shù)為2,那么在到第三首歌曲時(shí)程序便會(huì)終止;經(jīng)過分析發(fā)現(xiàn)是這兩個(gè)函數(shù)的調(diào)用,使數(shù)據(jù)出錯(cuò),所以就將這兩個(gè)出對(duì)函數(shù)用一個(gè)函數(shù)change()代替,這個(gè)函數(shù)能實(shí)現(xiàn)將首元素結(jié)點(diǎn)移到隊(duì)尾的功能。這樣不僅沒有了之前的問題,而且使程序更加易懂。在這些細(xì)節(jié)方面的具體設(shè)計(jì),是對(duì)個(gè)人分析問題、解決問題能力的一個(gè)很好的鍛煉。通過這個(gè)過程的鍛煉,不僅能對(duì)所學(xué)的知識(shí)點(diǎn)有很好的掌握,而且還是對(duì)個(gè)人能力的很好的訓(xùn)練。

其次,以前我對(duì)數(shù)據(jù)結(jié)構(gòu)(c語言描述)的一些標(biāo)準(zhǔn)庫函數(shù)不太了解,還有對(duì)函數(shù)調(diào)用的正確使用不夠熟悉,還有對(duì)c語言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解,通過實(shí)踐,使我在這幾個(gè)方面的認(rèn)識(shí)有所提高。讓自己有一定的能力去改正一些常見的錯(cuò)誤語法,很高興這兩周的學(xué)習(xí)讓我對(duì)數(shù)據(jù)結(jié)構(gòu)(c語言描述)有了新的認(rèn)識(shí),所以后在學(xué)習(xí)過程中,我會(huì)更加注視實(shí)踐操作,使自己便好地學(xué)好計(jì)算機(jī)。在這次課程設(shè)計(jì)的實(shí)驗(yàn)中,我收獲了許多知識(shí),通過查找大量資料,請(qǐng)教老師,以及不懈的努力,也培養(yǎng)了獨(dú)立思考、動(dòng)手操作的能力。我也學(xué)會(huì)了許多學(xué)習(xí)和解決實(shí)際問題的方法,讓我受益匪淺。課程設(shè)計(jì)對(duì)我來說,趣味性強(qiáng),不僅鍛煉能力,而且可以學(xué)到很多東西,在與老師和同學(xué)的交流過程中,互動(dòng)學(xué)習(xí),將知識(shí)融會(huì)貫通,也增強(qiáng)了我和同學(xué)之間的團(tuán)隊(duì)合作的能力。讓我們知道只要努力,集中精力解決問題,一定會(huì)有收獲的,過程也是很重要的。

在這次課程設(shè)計(jì)中我們要學(xué)會(huì)利用時(shí)間,在規(guī)定的時(shí)間內(nèi)完成我們的任務(wù),要逐漸養(yǎng)成用c語言編寫程序的良好習(xí)慣。這些對(duì)我來說都是一種鍛煉,一個(gè)知識(shí)積累的過程,一種能力的提高。要打好基礎(chǔ),才能用更好的辦法,更簡(jiǎn)潔明了的程序解決實(shí)際問題,只有這樣才能進(jìn)一步的取得更好的成績(jī)。我們會(huì)更加努力,努力的去彌補(bǔ)自己的缺點(diǎn),發(fā)展自己的優(yōu)點(diǎn),去充實(shí)自己,只有在了解了自己的長(zhǎng)短之后,我們會(huì)更加珍惜擁有的,更加努力的去完善它,增進(jìn)它。

當(dāng)然我現(xiàn)在的水平還是很有限,但我還會(huì)繼續(xù)努力的,在解決實(shí)際問題時(shí)如果遇到了難題,我們要學(xué)會(huì)去查找大量的有關(guān)這方面的資料,還要借助于網(wǎng)絡(luò)不斷擴(kuò)大自己的知識(shí)面和閱讀量。這樣也可以鍛煉我們的自主學(xué)習(xí)能力和解決問題的能力,學(xué)到了許多以前沒學(xué)到的東西。

在課程設(shè)計(jì)中的程序都比較復(fù)雜,所以需要我們要更加地細(xì)心,認(rèn)真的完成每一步的操作,修改語法,按照老師的指導(dǎo)思想來完成。還記得一開始拿到題目時(shí)我們的一臉茫然,而現(xiàn)在是收獲滿滿的自信,每個(gè)人都或多或少有所收獲,也讓我們對(duì)程序設(shè)計(jì)和算法有了進(jìn)一步理解、認(rèn)識(shí)。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇十一

本次課程設(shè)計(jì),使我對(duì)《數(shù)據(jù)結(jié)構(gòu)》這門課程有了更深入的理解?!稊?shù)據(jù)結(jié)構(gòu)》是一門實(shí)踐性較強(qiáng)的課程,為了學(xué)好這門課程,必須在掌握理論知識(shí)的同時(shí),加強(qiáng)上機(jī)實(shí)踐。

我的課程設(shè)計(jì)題目是線索二叉樹的運(yùn)算。剛開始做這個(gè)程序的時(shí)候,感到完全無從下手,甚至讓我覺得完成這次程序設(shè)計(jì)根本就是不可能的,于是開始查閱各種資料以及參考文獻(xiàn),之后便開始著手寫程序,寫完運(yùn)行時(shí)有很多問題。特別是實(shí)現(xiàn)線索二叉樹的刪除運(yùn)算時(shí)很多情況沒有考慮周全,經(jīng)常運(yùn)行出現(xiàn)錯(cuò)誤,但通過同學(xué)間的幫助最終基本解決問題。

在本課程設(shè)計(jì)中,我明白了理論與實(shí)際應(yīng)用相結(jié)合的重要性,并提高了自己組織數(shù)據(jù)及編寫大型程序的能力。培養(yǎng)了基本的、良好的程序設(shè)計(jì)技能以及合作能力。這次課程設(shè)計(jì)同樣提高了我的綜合運(yùn)用所學(xué)知識(shí)的能力。并對(duì)vc有了更深入的了解?!稊?shù)據(jù)結(jié)構(gòu)》是一門實(shí)踐性很強(qiáng)的課程,上機(jī)實(shí)習(xí)是對(duì)學(xué)生全面綜合素質(zhì)進(jìn)行訓(xùn)練的一種最基本的方法,是與課堂聽講、自學(xué)和練習(xí)相輔相成的、必不可少的一個(gè)教學(xué)環(huán)節(jié)。上機(jī)實(shí)習(xí)一方面能使書本上的知識(shí)變“活”,起到深化理解和靈活掌握教學(xué)內(nèi)容的目的;另一方面,上機(jī)實(shí)習(xí)是對(duì)學(xué)生軟件設(shè)計(jì)的綜合能力的訓(xùn)練,包括問題分析,總體結(jié)構(gòu)設(shè)計(jì),程序設(shè)計(jì)基本技能和技巧的訓(xùn)練。此外,還有更重要的一點(diǎn)是:機(jī)器是比任何教師更嚴(yán)厲的檢查者。因此,在“數(shù)據(jù)結(jié)構(gòu)”的學(xué)習(xí)過程中,必須嚴(yán)格按照老師的要求,主動(dòng)地、積極地、認(rèn)真地做好每一個(gè)實(shí)驗(yàn),以不斷提高自己的編程能力與專業(yè)素質(zhì)。

通過這段時(shí)間的課程設(shè)計(jì),我認(rèn)識(shí)到數(shù)據(jù)結(jié)構(gòu)是一門比較難的課程。需要多花時(shí)間上機(jī)練習(xí)。這次的程序訓(xùn)練培養(yǎng)了我實(shí)際分析問題、編程和動(dòng)手能力,使我掌握了程序設(shè)計(jì)的基本技能,提高了我適應(yīng)實(shí)際,實(shí)踐編程的能力。

總的來說,這次課程設(shè)計(jì)讓我獲益匪淺,對(duì)數(shù)據(jù)結(jié)構(gòu)也有了進(jìn)一步的理解和認(rèn)識(shí)。

這學(xué)期開始兩周時(shí)間是我們自己選題上機(jī)的時(shí)間,這學(xué)期開始兩周時(shí)間是我們自己選題上機(jī)的時(shí)間,雖然上機(jī)時(shí)間只有短短兩個(gè)星期但從中確實(shí)學(xué)到了不少知識(shí)。上機(jī)時(shí)間只有短短兩個(gè)星期但從中確實(shí)學(xué)到了不少知識(shí)。數(shù)據(jù)結(jié)構(gòu)可以說是計(jì)算機(jī)里一門基礎(chǔ)課程,據(jù)結(jié)構(gòu)可以說是計(jì)算機(jī)里一門基礎(chǔ)課程,但我覺得我們一低計(jì)算機(jī)里一門基礎(chǔ)課程定要把基礎(chǔ)學(xué)扎實(shí),定要把基礎(chǔ)學(xué)扎實(shí),然而這次短短的上機(jī)幫我又重新鞏固了c語言知識(shí),讓我的水平又一部的提高。數(shù)據(jù)結(jié)構(gòu)這是一門語言知識(shí)讓我的水平又一部的.提高。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇十二

本次課程設(shè)計(jì)所用到的知識(shí)完全是上學(xué)期的知識(shí),通過這次課程設(shè)計(jì),我認(rèn)識(shí)到了我對(duì)數(shù)據(jù)結(jié)構(gòu)這門課的掌握程度。

首先我這個(gè)課程設(shè)計(jì)是關(guān)于二叉樹的,由于是剛接觸二叉樹,所以我掌握的長(zhǎng)度并不深。在編程之前我把有關(guān)于二叉樹的知識(shí)有溫習(xí)了一遍,還好并沒有忘掉。二叉樹這章節(jié)難度中上等,而且內(nèi)容廣泛,所以我只掌握了百分之六七十。

然后,在編程中我認(rèn)識(shí)到了自己動(dòng)手能力的不足,雖然相比較大二而言進(jìn)步很大,但是我還是不滿意,有的在編程中必須看書才能寫出來,有的靠百度,很少是自己寫的。還好,我自己組裝程序的能力還行,要不這東拼西湊的程序根本組裝不了。在編程中我還認(rèn)識(shí)到了,編程不能停下,如果編程的時(shí)間少了,知識(shí)忘的會(huì)很快,而且動(dòng)手也會(huì)很慢。同時(shí),同學(xué)之間的合作也很重要,每個(gè)人掌握的知識(shí)都不一樣,而且掌握程度也不一樣,你不會(huì)的別的同學(xué)會(huì),所以在大家的共同努力下,編程會(huì)變得很容易。在這次編程中,我了解到了自己某些方面的不足,比如說鏈表的知識(shí),雖然我能做一些有關(guān)于鏈表的編程,但是很慢,沒有別人編程的快,另外,二叉樹和圖的知識(shí)最不好掌握,這方面的知識(shí)廣泛而復(fù)雜。以前,沒動(dòng)手編程的時(shí)候覺得這些知識(shí)很容易,現(xiàn)在編程了才發(fā)現(xiàn)自己錯(cuò)了,大錯(cuò)特錯(cuò)了,我們這個(gè)專業(yè)最重視的就是動(dòng)手編程能力,如果我們紙上寫作能力很強(qiáng)而動(dòng)手編程能力很差,那我們就白上這個(gè)專業(yè)了。計(jì)算機(jī)這個(gè)專業(yè)就是鍛煉動(dòng)手編程能力的,一個(gè)人的理論知識(shí)再好,沒有動(dòng)手編程能力,那他只是一個(gè)計(jì)算機(jī)專業(yè)的“入門者”。在編程中我們能找到滿足,如果我們自己編程了一個(gè)程序,我們會(huì)感到自豪,而且充實(shí),因?yàn)槿绻覀儗Q幸粋€(gè)難得程序,我們會(huì)達(dá)到忘我的境界,自己完全沉浸在編程的那種樂趣之中,完全會(huì)廢寢忘食。編程雖然會(huì)乏味很無聊,但是只要我們沉浸其中,你就會(huì)發(fā)現(xiàn)里面的樂趣,遇到難得,你會(huì)勇往直前,不寫出來永不罷休;遇到容易的,你會(huì)找到樂趣。編程是很乏味,但是那是因?yàn)槟銢]找到編程重的樂趣,你只看到了他的不好,而沒有看到他的好。其實(shí),只要你找到編程中得樂趣,你就會(huì)完全喜歡上他,不編程還好,一編程你就會(huì)變成一個(gè)兩耳不聞窗外事的“植物人”。可以說只要你涉及到了計(jì)算機(jī),你就的會(huì)編程,而且還要喜歡上他,永遠(yuǎn)和他打交道,我相信在某一天,我們一定會(huì)把他當(dāng)作我們不可或缺的好朋友。

最后我要談的是長(zhǎng)時(shí)間編程的好處,俗話說“熟能生巧”,確實(shí)是這樣。如果我們長(zhǎng)時(shí)間不編程,在一接觸他,我們會(huì)感到很陌生。有規(guī)律的編程會(huì)提高我們的動(dòng)手能力,我們的思維,也會(huì)讓我們變得很細(xì)心。在一個(gè)幾千行的程序中,我們都能找到錯(cuò)誤,那我們還會(huì)怕其他的錯(cuò)誤嗎?可以說編程是我們?cè)谖覀冞@一行業(yè)的一把利劍,如果我們能很好的利用它,我們就會(huì)成為這個(gè)行業(yè)的真正成功者。也許你會(huì)說就算變成好了也不一定成功,是的,但是你不會(huì)編程就一定不會(huì)成功。如果,我們想成為這個(gè)專業(yè)的成功者,我們就得愛上編程,不管他是怎么得乏味,怎么得無聊,我們都不能丟掉他。

總之,動(dòng)手編程就是鍛煉我們的動(dòng)手能力,當(dāng)然這個(gè)動(dòng)手能力并不是科研上的動(dòng)手能力,而是我們的動(dòng)手編程能力,記住,只要你真正的喜歡上他,你就會(huì)發(fā)現(xiàn)其中的樂趣,我相信,只要你堅(jiān)持下去,你一定會(huì)喜歡上他,把編程當(dāng)作自己日常生活中一件必須做的事情。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇十三

“數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)”是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生的.集中實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)與算法”理論和實(shí)驗(yàn)課程后進(jìn)行的一次全面的綜合練習(xí)。其目的是要達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,提高學(xué)生組織數(shù)據(jù)及編寫程序的能力,使學(xué)生能夠根據(jù)問題要求和數(shù)據(jù)對(duì)象的特性,學(xué)會(huì)數(shù)據(jù)組織的方法,把現(xiàn)實(shí)世界中的實(shí)際問題在計(jì)算機(jī)內(nèi)部表示出來并用軟件解決問題,培養(yǎng)良好的程序設(shè)計(jì)技能。

當(dāng)初拿到這次課程設(shè)計(jì)題目時(shí),似乎無從下手,但是經(jīng)過分析可知,對(duì)于簡(jiǎn)單文本編輯器來說功能有限,不外乎創(chuàng)作文本、顯示文本、統(tǒng)計(jì)文本中字母—數(shù)字—空格—特殊字符—文本總字?jǐn)?shù)、查找、刪除及插入這幾項(xiàng)功能。于是,我進(jìn)行分模塊進(jìn)行編寫程序。雖然每個(gè)模塊程序并不大,但是每個(gè)模塊都要經(jīng)過一番思考才能搞清其算法思想,只要有了算法思想,再加上c程序語言基礎(chǔ),基本完成功能,但是,每個(gè)模塊不可能一次完成而沒有一點(diǎn)錯(cuò)誤,所以,我給自己定了一個(gè)初級(jí)目標(biāo):用c語言大體描述每個(gè)算法,然后經(jīng)調(diào)試后改掉其中明顯的錯(cuò)誤,并且根據(jù)調(diào)試結(jié)果改正一些算法錯(cuò)誤,當(dāng)然,這一目標(biāo)實(shí)現(xiàn)較難。最后,經(jīng)過反復(fù)思考,看一下程序是否很完善,如果能夠達(dá)到更完善當(dāng)然最好。并非我們最初想到的算法就是最好的算法,所以,有事我們會(huì)而不得不在編寫途中終止換用其他算法,但是,我認(rèn)為這不是浪費(fèi)時(shí)間,而是一種認(rèn)識(shí)過程,在編寫程序中遇到的問題會(huì)為我們以后編寫程序積累經(jīng)驗(yàn),避免再犯同樣的錯(cuò)誤。但是,有的方法不適用于這個(gè)程序,或許會(huì)適用于另外一個(gè)程序。所以,探索的過程是成長(zhǎng)的過程,是為成功做的鋪墊。經(jīng)過努力后獲得成功,會(huì)更有成就感。

在課程設(shè)計(jì)過程中通過獨(dú)立解決問題,首先分析設(shè)計(jì)題目中涉及到的數(shù)據(jù)類型,在我們學(xué)習(xí)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中不外乎線性存儲(chǔ)結(jié)構(gòu)及非線性存儲(chǔ)結(jié)構(gòu),非線性存儲(chǔ)結(jié)構(gòu)中有樹型,集合型,圖型等存儲(chǔ)結(jié)構(gòu),根據(jù)數(shù)據(jù)類型設(shè)計(jì)數(shù)據(jù)結(jié)點(diǎn)類型。然后根據(jù)設(shè)計(jì)題目的主要任務(wù),設(shè)計(jì)出程序大體輪廓(包括子函數(shù)和主函數(shù)),然后對(duì)每個(gè)子函數(shù)進(jìn)行大體設(shè)計(jì),過程中錯(cuò)誤在所難免,所以要經(jīng)過仔細(xì)探索,對(duì)每個(gè)函數(shù)進(jìn)行改進(jìn)。

程序基本完成后,功能雖然齊全,但是程序是否完善(例如,輸入數(shù)據(jù)時(shí)是否在其范圍之內(nèi),所以加入判斷語句是很有必要的)還需運(yùn)行測(cè)試多次,如有發(fā)現(xiàn)應(yīng)該對(duì)其進(jìn)行改善,當(dāng)然要在力所能及的前提下。

課程設(shè)計(jì)過程雖然短暫,但是使我深刻理解數(shù)據(jù)結(jié)構(gòu)和算法課程對(duì)編程的重要作用,還有“數(shù)據(jù)結(jié)構(gòu)與算法”還提供了一些常用的基本算法思想及算法的編寫程序。通過獨(dú)立完成設(shè)計(jì)題目,使我系統(tǒng)了解編程的基本步驟,提高分析和解決實(shí)際問題的能力。通過實(shí)踐積累經(jīng)驗(yàn),才能有所創(chuàng)新。正所謂,良好的基礎(chǔ)決定上層建筑。只有基本功做好了,才有可能做出更好的成果。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇十四

本次課程設(shè)計(jì),使我對(duì)《數(shù)據(jù)結(jié)構(gòu)》這門課程有了更深入的理解?!稊?shù)據(jù)結(jié)構(gòu)》是一門實(shí)踐性較強(qiáng)的課程,為了學(xué)好這門課程,必須在掌握理論知識(shí)的同時(shí),加強(qiáng)上機(jī)實(shí)踐。

我的課程設(shè)計(jì)題目是線索二叉樹的運(yùn)算。剛開始做這個(gè)程序的時(shí)候,感到完全無從下手,甚至讓我覺得完成這次程序設(shè)計(jì)根本就是不可能的,于是開始查閱各種資料以及參考文獻(xiàn),之后便開始著手寫程序,寫完運(yùn)行時(shí)有很多問題。特別是實(shí)現(xiàn)線索二叉樹的刪除運(yùn)算時(shí)很多情況沒有考慮周全,經(jīng)常運(yùn)行出現(xiàn)錯(cuò)誤,但通過同學(xué)間的幫助最終基本解決問題。

在本課程設(shè)計(jì)中,我明白了理論與實(shí)際應(yīng)用相結(jié)合的重要性,并提高了自己組織數(shù)據(jù)及編寫大型程序的能力。培養(yǎng)了基本的、良好的程序設(shè)計(jì)技能以及合作能力。這次課程設(shè)計(jì)同樣提高了我的綜合運(yùn)用所學(xué)知識(shí)的能力。并對(duì)vc有了更深入的了解。《數(shù)據(jù)結(jié)構(gòu)》是一門實(shí)踐性很強(qiáng)的課程,上機(jī)實(shí)習(xí)是對(duì)學(xué)生全面綜合素質(zhì)進(jìn)行訓(xùn)練的一種最基本的方法,是與課堂聽講、自學(xué)和練習(xí)相輔相成的、必不可少的一個(gè)教學(xué)環(huán)節(jié)。上機(jī)實(shí)習(xí)一方面能使書本上的知識(shí)變“活”,起到深化理解和靈活掌握教學(xué)內(nèi)容的目的;另一方面,上機(jī)實(shí)習(xí)是對(duì)學(xué)生軟件設(shè)計(jì)的綜合能力的訓(xùn)練,包括問題分析,總體結(jié)構(gòu)設(shè)計(jì),程序設(shè)計(jì)基本技能和技巧的訓(xùn)練。此外,還有更重要的一點(diǎn)是:機(jī)器是比任何教師更嚴(yán)厲的檢查者。因此,在“數(shù)據(jù)結(jié)構(gòu)”的學(xué)習(xí)過程中,必須嚴(yán)格按照老師的要求,主動(dòng)地、積極地、認(rèn)真地做好每一個(gè)實(shí)驗(yàn),以不斷提高自己的編程能力與專業(yè)素質(zhì)。

通過這段時(shí)間的課程設(shè)計(jì),我認(rèn)識(shí)到數(shù)據(jù)結(jié)構(gòu)是一門比較難的課程。需要多花時(shí)間上機(jī)練習(xí)。這次的程序訓(xùn)練培養(yǎng)了我實(shí)際分析問題、編程和動(dòng)手能力,使我掌握了程序設(shè)計(jì)的基本技能,提高了我適應(yīng)實(shí)際,實(shí)踐編程的能力。

總的來說,這次課程設(shè)計(jì)讓我獲益匪淺,對(duì)數(shù)據(jù)結(jié)構(gòu)也有了進(jìn)一步的理解和認(rèn)識(shí)。

第二篇:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)心得體會(huì)

時(shí)光荏苒,如白駒過隙般匆匆而去,眼看的一年實(shí)習(xí)生活馬上就要成為美好的回憶。在這短短一年的時(shí)間里我感覺自己成長(zhǎng)了許多,從象牙塔邁出的第一步走的特別的穩(wěn)重,感謝學(xué)校給我提供了一個(gè)努力拼搏的舞臺(tái),讓我學(xué)會(huì)了如何面對(duì)這個(gè)真實(shí)的社會(huì),實(shí)現(xiàn)了從在校學(xué)子向職場(chǎng)人士的轉(zhuǎn)變。

實(shí)習(xí)是繼中考后又一個(gè)人生的十字路口,它意味著人生一個(gè)新時(shí)期的到來——告別學(xué)校走入社會(huì)。社會(huì)是個(gè)大的集合,不管是以前的學(xué)校還是現(xiàn)在的實(shí)習(xí)單位都同屬這個(gè)集合。這幾個(gè)月來,給我感覺學(xué)校純一點(diǎn),單位復(fù)雜一點(diǎn)。不過我知道不論學(xué)校還是單位其實(shí)都是社會(huì)的縮影。實(shí)習(xí)的真正目的就是讓我們這些在校的學(xué)生走入社會(huì)。社會(huì)是形形色色、方方面面的,你要學(xué)會(huì)的是適應(yīng)這個(gè)社會(huì)而不是讓這個(gè)社會(huì)適應(yīng)你。

剛剛走進(jìn)社會(huì)不適應(yīng)是正常的。人有的時(shí)候很奇怪:心情或者更準(zhǔn)確地說是熱情往往會(huì)因時(shí)間、環(huán)境、所經(jīng)歷的事而起伏。就像我對(duì)境界一詞的理解:人與他所受教育、所處環(huán)境、所經(jīng)歷對(duì)事物的理解、判斷、預(yù)知的程度就是這個(gè)人的境界。

作為一名中專生,專業(yè)需求的建筑認(rèn)識(shí)實(shí)訓(xùn)開始了,我們?nèi)珜I(yè)的同學(xué)在xx的各大建筑工地認(rèn)識(shí)實(shí)習(xí),對(duì)于我當(dāng)初選擇土木工程這樣的專業(yè),說真的我并不知道什么是土木工程?,F(xiàn)在我對(duì)土木工程有了基本的感性認(rèn)識(shí)了,我想任何事的認(rèn)識(shí)都是通過感性認(rèn)識(shí)上升到理性認(rèn)識(shí)的,這次認(rèn)識(shí)實(shí)習(xí)應(yīng)該是一個(gè)鍛煉的好機(jī)會(huì)!

土木工程是建造各類工程設(shè)施的學(xué)科、技術(shù)和工程的總稱。它既指與與人類生活、生產(chǎn)活動(dòng)有關(guān)的各類工程設(shè)施,如建筑公程、公路與城市道路工程、鐵路工程、橋梁工程、隧道工程等,也指應(yīng)用材料、設(shè)備在土地上所進(jìn)行的勘測(cè)、設(shè)計(jì)、施工等工程技術(shù)活動(dòng)。

我應(yīng)該知道現(xiàn)在的我還不夠成熟,如果說人生是一片海洋,那么我應(yīng)該在這片海洋里劈波斬浪,揚(yáng)帆遠(yuǎn)航而不是躲在避風(fēng)港里。只要經(jīng)歷多了,我就會(huì)成熟;我就會(huì)變強(qiáng)。我相信。那時(shí)的成功是領(lǐng)導(dǎo)、師傅們給我鼓勵(lì),是實(shí)習(xí)的經(jīng)歷給我力量,所以我感謝領(lǐng)導(dǎo)師傅還有我的好朋友們,也感謝學(xué)校給我這次實(shí)習(xí)的機(jī)會(huì)。

一年的實(shí)習(xí)生活中,緊張過,努力過,醒悟過,開心過。這些從為有過的經(jīng)歷讓我進(jìn)步了,成長(zhǎng)了。學(xué)會(huì)了一些在學(xué)校從未學(xué)過以后也學(xué)不到的東西,也有很多的感悟。

第三篇:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)心得體會(huì)

這學(xué)期開始兩周時(shí)間是我們自己選題上機(jī)的時(shí)間,這學(xué)期開始兩周時(shí)間是我們自己選題上機(jī)的時(shí)間,雖然上機(jī)時(shí)間只有短短兩個(gè)星期但從中確實(shí)學(xué)到了不少知識(shí)。上機(jī)時(shí)間只有短短兩個(gè)星期但從中確實(shí)學(xué)到了不少知識(shí)。數(shù)據(jù)結(jié)構(gòu)可以說是計(jì)算機(jī)里一門基礎(chǔ)課程,據(jù)結(jié)構(gòu)可以說是計(jì)算機(jī)里一門基礎(chǔ)課程,但我覺得我們一低計(jì)算機(jī)里一門基礎(chǔ)課程定要把基礎(chǔ)學(xué)扎實(shí),定要把基礎(chǔ)學(xué)扎實(shí),然而這次短短的上機(jī)幫我又重新鞏固了c語言知識(shí),讓我的水平又一部的提高。數(shù)據(jù)結(jié)構(gòu)這是一門語言知識(shí)讓我的水平又一部的提高。數(shù)據(jù)結(jié)構(gòu)這是一門知識(shí),純屬于設(shè)計(jì)的科目,它需用把理論變?yōu)樯蠙C(jī)調(diào)試。

純屬于設(shè)計(jì)的科目,它需用把理論變?yōu)樯蠙C(jī)調(diào)試。它對(duì)我們來說具有一定的難度。它是其它編程語言的一門基本學(xué)科。來說具有一定的難度。它是其它編程語言的一門基本學(xué)科。我選的上機(jī)題目是交叉合并兩個(gè)鏈表,對(duì)這個(gè)題目,我選的上機(jī)題目是交叉合并兩個(gè)鏈表,對(duì)這個(gè)題目,我覺得很基礎(chǔ)。剛開始調(diào)試代碼的時(shí)候有時(shí)就是一個(gè)很小的錯(cuò)覺得很基礎(chǔ)。剛開始調(diào)試代碼的時(shí)候有時(shí)就是一個(gè)很小的錯(cuò)調(diào)試代碼的時(shí)候誤,導(dǎo)致整個(gè)程序不能運(yùn)行,然而開始的我還沒從暑假的狀導(dǎo)致整個(gè)程序不能運(yùn)行,態(tài)轉(zhuǎn)到學(xué)習(xí)上,每當(dāng)程序錯(cuò)誤時(shí)我都非常焦躁,態(tài)轉(zhuǎn)到學(xué)習(xí)上,每當(dāng)程序錯(cuò)誤時(shí)我都非常焦躁,甚至想到了放棄,但我最終找到了狀態(tài),一步一步慢慢來,放棄,但我最終找到了狀態(tài),一步一步慢慢來,經(jīng)過無數(shù)次的檢查程序錯(cuò)誤的原因后慢慢懂得了耐心是一個(gè)人成功的必然具備的條件!

決問題和在老師的幫助下一步一步慢慢的正確運(yùn)行程序,決問題和在老師的幫助下一步一步慢慢的正確運(yùn)行程序,終于完成了這次課程設(shè)計(jì),于完成了這次課程設(shè)計(jì),雖然這次課程設(shè)計(jì)結(jié)束了但是總覺得自已懂得的知識(shí)很是不足,學(xué)無止境,得自已懂得的知識(shí)很是不足,學(xué)無止境,以后還會(huì)更加的努力深入的學(xué)習(xí)。力深入的學(xué)習(xí)。


數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇十五

設(shè)計(jì)結(jié)束后要寫出課程設(shè)計(jì)報(bào)告,以作為整個(gè)課程設(shè)計(jì)評(píng)分的書面依據(jù)和存檔材料。設(shè)計(jì)報(bào)告以規(guī)定格式的電子文檔書寫,打印并裝訂,排版及圖,表要清楚,工整。裝訂順序如下:封面、目錄、正文。正文包括以下7個(gè)內(nèi)容:

1、需求分析

陳述說明程序設(shè)計(jì)的任務(wù),強(qiáng)調(diào)的是程序要做什么,需要什么結(jié)果、所能達(dá)到的功能。

2、概要設(shè)計(jì)

實(shí)現(xiàn)概要設(shè)計(jì)中定義的所有數(shù)據(jù)類型,對(duì)每個(gè)操作只需要寫出偽碼算法;對(duì)主程序和其他模塊也都需要寫出偽碼算法(偽碼算法達(dá)到的詳細(xì)程度建議為:按照偽碼算法可以在計(jì)算機(jī)鍵盤直接輸入高級(jí)程序設(shè)計(jì)語言程序);可采用流程圖、ns圖進(jìn)行描述,畫出函數(shù)和過程的調(diào)用關(guān)系圖。

4、調(diào)試分析

內(nèi)容包括:

c.經(jīng)驗(yàn)和體會(huì)等。5.測(cè)試結(jié)果

列出你的測(cè)試結(jié)果,包括輸入和輸出。這里的測(cè)試數(shù)據(jù)應(yīng)該完整和嚴(yán)格,最好多于需求分析中所列。

6、參考文獻(xiàn)

列出參考的相關(guān)資料和書籍。

封面格式如下:

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告

班級(jí):________________________

姓名:____________________

指導(dǎo)教師:___________________

成績(jī):__________________________

信息工程學(xué)院

年月日

目錄

1、需求分析………………………………………………

22.概要設(shè)計(jì)………………………………………………2

3、詳細(xì)設(shè)計(jì)………………………………………………2

4、調(diào)試分析………………………………………………2

附錄……………………………………………………

一、需求分析

二、概要設(shè)計(jì)

三、詳細(xì)設(shè)計(jì)

四、調(diào)試分析

五、測(cè)試結(jié)果

六、參考文獻(xiàn)

七、附錄

附錄為程序代碼!4

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇十六

優(yōu)秀作文推薦:課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生的集中實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)與算法”理論和實(shí)驗(yàn)課程后進(jìn)行的一次全面的綜合練習(xí)。其目的是要達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,使學(xué)生能夠根據(jù)問題要求和數(shù)據(jù)對(duì)象的特性,學(xué)會(huì)數(shù)據(jù)組織的方法,把現(xiàn)實(shí)世界中的實(shí)際問題在計(jì)算機(jī)內(nèi)部表示出來并用軟件解決問題,培養(yǎng)良好的程序設(shè)計(jì)技能。

在這次課程設(shè)計(jì)當(dāng)中,我了解到了我的不足,如算法的不完善、不細(xì)心和耐心不是很好等等。不細(xì)心的我在調(diào)試程序時(shí),老是因?yàn)槟硞€(gè)書寫錯(cuò)誤導(dǎo)致錯(cuò)誤;對(duì)這些錯(cuò)誤,我不得不花大量的時(shí)間去更正,并且還要重復(fù)檢查是否出現(xiàn)雷同的錯(cuò)誤而導(dǎo)致程序不能運(yùn)行。但是通過這次課程設(shè)計(jì),我的這些缺點(diǎn)有些改善。我在寫新的程序時(shí),首先要考慮的深入一點(diǎn)、仔細(xì)一點(diǎn),這樣要修改程序的時(shí)間就會(huì)少很多。并且也不會(huì)因?yàn)樽约翰患?xì)心而導(dǎo)致的浪費(fèi)時(shí)間的情況出現(xiàn)。

在進(jìn)行程序設(shè)計(jì)時(shí),要注意想好思路。即要有恰當(dāng)模塊名、變量名、常量名、子程序名等。將每個(gè)功能的模塊,即函數(shù)名要清晰的表述出來,使用戶能夠一目了然此程序的功能。當(dāng)然適當(dāng)?shù)?給寫注釋,也是方便用戶的理解。還有在編寫程序時(shí)要注意對(duì)程序的適當(dāng)分配,便于用戶看懂程序,也便于自己檢查城市。但是完成任何一個(gè)較大的程序,都需要掌握一定的編程基礎(chǔ),需要不斷的探索和求知過程,這樣對(duì)自己編程能力的提高有較大的幫助。當(dāng)然,任何程序必須經(jīng)過計(jì)算機(jī)的調(diào)試,看是否調(diào)試成功,發(fā)現(xiàn)錯(cuò)誤,一個(gè)個(gè),一步步去解決,這樣就能從錯(cuò)誤中進(jìn)步。

通過課程設(shè)計(jì)加強(qiáng)了我的動(dòng)手能力,以及提升了局部和統(tǒng)一考慮問題的思維方式?;仡櫰鸫舜握n程設(shè)計(jì),至今我仍感慨頗多,的確,從從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整半個(gè)月的日子里,可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。

通過這次的課程設(shè)計(jì),我學(xué)到了怎么樣從一個(gè)實(shí)際問題出發(fā),建立模型,找到相應(yīng)的存儲(chǔ)結(jié)構(gòu)和實(shí)現(xiàn)方法,實(shí)際運(yùn)行,反復(fù)調(diào)試和修改,最終實(shí)現(xiàn)功能。在程序設(shè)計(jì)方法以及上機(jī)操作等基本技能和科學(xué)作風(fēng)方面受到比較系統(tǒng)和嚴(yán)格的訓(xùn)練,學(xué)會(huì)數(shù)據(jù)組織的方法,把現(xiàn)實(shí)世界中的實(shí)際問題在計(jì)算機(jī)內(nèi)部表示出來并用軟件解決問題,培養(yǎng)了良好的程序設(shè)計(jì)技能。

在這次課程設(shè)計(jì)中,得到了好多同學(xué)的幫助以及老師的指導(dǎo),在此要表達(dá)我真誠的謝意!

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇十七

本次課程設(shè)計(jì)所用到的知識(shí)完全是上學(xué)期的知識(shí),通過這次課程設(shè)計(jì),我認(rèn)識(shí)到了我對(duì)數(shù)據(jù)結(jié)構(gòu)這門課的掌握程度。

首先我這個(gè)課程設(shè)計(jì)是關(guān)于二叉樹的,由于是剛接觸二叉樹,所以我掌握的長(zhǎng)度并不深。在編程之前我把有關(guān)于二叉樹的知識(shí)有溫習(xí)了一遍,還好并沒有忘掉。二叉樹這章節(jié)難度中上等,而且內(nèi)容廣泛,所以我只掌握了百分之六七十。

然后,在編程中我認(rèn)識(shí)到了自己動(dòng)手能力的不足,雖然相比較大二而言進(jìn)步很大,但是我還是不滿意,有的在編程中必須看書才能寫出來,有的靠百度,很少是自己寫的。還好,我自己組裝程序的能力還行,要不這東拼西湊的程序根本組裝不了。在編程中我還認(rèn)識(shí)到了,編程不能停下,如果編程的時(shí)間少了,知識(shí)忘的會(huì)很快,而且動(dòng)手也會(huì)很慢。同時(shí),同學(xué)之間的合作也很重要,每個(gè)人掌握的知識(shí)都不一樣,而且掌握程度也不一樣,你不會(huì)的別的同學(xué)會(huì),所以在大家的共同努力下,編程會(huì)變得很容易。在這次編程中,我了解到了自己某些方面的不足,比如說鏈表的知識(shí),雖然我能做一些有關(guān)于鏈表的編程,但是很慢,沒有別人編程的快,另外,二叉樹和圖的知識(shí)最不好掌握,這方面的知識(shí)廣泛而復(fù)雜。以前,沒動(dòng)手編程的時(shí)候覺得這些知識(shí)很容易,現(xiàn)在編程了才發(fā)現(xiàn)自己錯(cuò)了,大錯(cuò)特錯(cuò)了,我們這個(gè)專業(yè)最重視的就是動(dòng)手編程能力,如果我們紙上寫作能力很強(qiáng)而動(dòng)手編程能力很差,那我們就白上這個(gè)專業(yè)了。計(jì)算機(jī)這個(gè)專業(yè)就是鍛煉動(dòng)手編程能力的,一個(gè)人的理論知識(shí)再好,沒有動(dòng)手編程能力,那他只是一個(gè)計(jì)算機(jī)專業(yè)的“入門者”。在編程中我們能找到滿足,如果我們自己編程了一個(gè)程序,我們會(huì)感到自豪,而且充實(shí),因?yàn)槿绻覀儗Q幸粋€(gè)難得程序,我們會(huì)達(dá)到忘我的境界,自己完全沉浸在編程的那種樂趣之中,完全會(huì)廢寢忘食。編程雖然會(huì)乏味很無聊,但是只要我們沉浸其中,你就會(huì)發(fā)現(xiàn)里面的樂趣,遇到難得,你會(huì)勇往直前,不寫出來永不罷休;遇到容易的,你會(huì)找到樂趣。編程是很乏味,但是那是因?yàn)槟銢]找到編程重的樂趣,你只看到了他的不好,而沒有看到他的好。其實(shí),只要你找到編程中得樂趣,你就會(huì)完全喜歡上他,不編程還好,一編程你就會(huì)變成一個(gè)兩耳不聞窗外事的“植物人”。可以說只要你涉及到了計(jì)算機(jī),你就的會(huì)編程,而且還要喜歡上他,永遠(yuǎn)和他打交道,我相信在某一天,我們一定會(huì)把他當(dāng)作我們不可或缺的好朋友。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇十八

數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)程序設(shè)計(jì)的重要理論技術(shù)基礎(chǔ),它不僅是計(jì)算機(jī)科學(xué)的核心課程,而且也已經(jīng)成為其他理工專業(yè)的熱門選修課。隨著高級(jí)語言的發(fā)展,數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)的研究和應(yīng)用中已展現(xiàn)出強(qiáng)大的生命力,它兼顧了諸多高級(jí)語言的特點(diǎn),是一種典型的結(jié)構(gòu)化程序設(shè)計(jì)語言,它處理能力強(qiáng),使用靈活方便,應(yīng)用面廣,具有良好的可移植性。

緊張的兩周數(shù)據(jù)結(jié)構(gòu)實(shí)訓(xùn)很快就過去了,通過這兩周的實(shí)踐學(xué)習(xí),不僅使我們鞏固了以前的知識(shí)并在此基礎(chǔ)上還對(duì)數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)和算法有了更深的了解,使我們?cè)谶@門課程的實(shí)際應(yīng)用上也有了一個(gè)提高。

首先這兩周的學(xué)習(xí),使我們?cè)陟柟塘嗽械睦碚撝R(shí)上,又培養(yǎng)了靈活運(yùn)用和組成所學(xué)過知識(shí)及技能來分析、解決實(shí)際問題的能力,使我們體會(huì)到自身知識(shí)和能力在實(shí)際中的應(yīng)用和發(fā)揮。

其次,它激發(fā)了我們創(chuàng)新意識(shí),開發(fā)創(chuàng)造的能力和培養(yǎng)溝通能力。另外,讓我們進(jìn)一步熟悉了數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)應(yīng)用。每一處編碼都是在反復(fù)的熟悉數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)特性,及其語法、函數(shù)和程序設(shè)計(jì)思想的過程,對(duì)我們數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)和提高很有益處,并且使我們明白了程序設(shè)計(jì)過程,如解決一些實(shí)際問題,從解決實(shí)際問題的角度,我們可以這樣來看:

第一要了解這個(gè)問題的基本要求,即輸入、輸出、完成從輸入到輸出的要求是什么;

第二,從問題的要害入手,從前到后的解決問題的每個(gè)方面,即從輸入開始入手,著重考慮如何從輸入導(dǎo)出輸出,在這個(gè)過程中,可確定所需的數(shù)據(jù)結(jié)構(gòu)的基本類型——線性表、棧、隊(duì)列、串、數(shù)組、廣義表、樹和二叉樹以及圖等,然后確定處理過程——算法,通過在編譯環(huán)境中的編譯與調(diào)試,可到最終的程序。最后,在這次的實(shí)訓(xùn)過程中,我們深刻的認(rèn)識(shí)到了自己在學(xué)習(xí)方面的不足之處,我知道我還有太多的基本的思想沒有真正的理解,當(dāng)然我們不會(huì)灰心,我們會(huì)在以后的日子里努力彌補(bǔ)我們的不足。

在兩周的實(shí)訓(xùn)中,我們也體會(huì)到了團(tuán)隊(duì)合作的重要性,從最初的查閱資料到最后的程序的成功運(yùn)行,我們組有過山窮水盡的困惑;有過柳暗花明的驚喜;有過唇槍舌劍的辯論;有過相互鼓勵(lì)的安慰。兩個(gè)禮拜的時(shí)間我們經(jīng)歷了很多,也收獲了很多。與其說這次的實(shí)訓(xùn)是體力與腦力的作業(yè),不如說它是合作精神和毅力的考驗(yàn)。經(jīng)過這次課程設(shè)計(jì),我們不僅學(xué)到了很多知識(shí)和技能,更重要的是我們學(xué)會(huì)了如何運(yùn)用所學(xué)知識(shí)去解決實(shí)際問題。

總之,兩個(gè)禮拜的課程設(shè)計(jì)讓我們受益匪淺。我們深深認(rèn)識(shí)到,要學(xué)好一門學(xué)科,沒有刻苦鉆研的精神是不行的,只有在不斷的嘗試中,經(jīng)歷失敗,從失敗中經(jīng)驗(yàn),然后再不斷的嘗試,才能獲得成功。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇十九

我的課程設(shè)計(jì)題目是線索二叉樹的運(yùn)算。剛開始做這個(gè)程序的時(shí)候,感到完全無從下手,甚至讓我覺得完成這次程序設(shè)計(jì)根本就是不可能的,于是開始查閱各種資料以及參考文獻(xiàn),之后便開始著手寫程序,寫完運(yùn)行時(shí)有很多問題。特別是實(shí)現(xiàn)線索二叉樹的刪除運(yùn)算時(shí)很多情況沒有考慮周全,經(jīng)常運(yùn)行出現(xiàn)錯(cuò)誤,但通過同學(xué)間的幫助最終基本解決問題。

在本課程設(shè)計(jì)中,我明白了理論與實(shí)際應(yīng)用相結(jié)合的重要性,并提高了自己組織數(shù)據(jù)及編寫大型程序的能力。培養(yǎng)了基本的、良好的程序設(shè)計(jì)技能以及合作能力。這次課程設(shè)計(jì)同樣提高了我的綜合運(yùn)用所學(xué)知識(shí)的能力。并對(duì)vc有了更深入的了解?!稊?shù)據(jù)結(jié)構(gòu)》是一門實(shí)踐性很強(qiáng)的課程,上機(jī)實(shí)習(xí)是對(duì)學(xué)生全面綜合素質(zhì)進(jìn)行訓(xùn)練的一種最基本的方法,是與課堂聽講、自學(xué)和練習(xí)相輔相成的、必不可少的一個(gè)教學(xué)環(huán)節(jié)。上機(jī)實(shí)習(xí)一方面能使書本上的知識(shí)變“活”,起到深化理解和靈活掌握教學(xué)內(nèi)容的目的;另一方面,上機(jī)實(shí)習(xí)是對(duì)學(xué)生軟件設(shè)計(jì)的綜合能力的訓(xùn)練,包括問題分析,總體結(jié)構(gòu)設(shè)計(jì),程序設(shè)計(jì)基本技能和技巧的訓(xùn)練。此外,還有更重要的一點(diǎn)是:機(jī)器是比任何教師更嚴(yán)厲的檢查者。因此,在“數(shù)據(jù)結(jié)構(gòu)”的學(xué)習(xí)過程中,必須嚴(yán)格按照老師的要求,主動(dòng)地、積極地、認(rèn)真地做好每一個(gè)實(shí)驗(yàn),以不斷提高自己的編程能力與專業(yè)素質(zhì)。

通過這段時(shí)間的課程設(shè)計(jì),我認(rèn)識(shí)到數(shù)據(jù)結(jié)構(gòu)是一門比較難的課程。需要多花時(shí)間上機(jī)練習(xí)。這次的程序訓(xùn)練培養(yǎng)了我實(shí)際分析問題、編程和動(dòng)手能力,使我掌握了程序設(shè)計(jì)的基本技能,提高了我適應(yīng)實(shí)際,實(shí)踐編程的能力。

總的來說,這次課程設(shè)計(jì)讓我獲益匪淺,對(duì)數(shù)據(jù)結(jié)構(gòu)也有了進(jìn)一步的理解和認(rèn)識(shí)。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇二十

這是一門純屬于設(shè)計(jì)的科目,它需用把理論變?yōu)樯蠙C(jī)調(diào)試。剛開始學(xué)的時(shí)候確實(shí)有很多地方我很不理解,每次上課時(shí)老師都會(huì)給我們出不同的設(shè)計(jì)題目,對(duì)于我們一個(gè)初學(xué)者來說,無疑是一個(gè)具大的挑戰(zhàn),撞了幾次壁之后,我決定靜下心來,仔細(xì)去寫程序。老師會(huì)給我們需要編程的內(nèi)容一些講解,順著老師的思路,來完成自己的設(shè)計(jì),我們可以開始運(yùn)行自己的'程序。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇二十一

這學(xué)期開始兩周時(shí)間是我們自己選題上機(jī)的時(shí)間,這學(xué)期開始兩周時(shí)間是我們自己選題上機(jī)的時(shí)間,雖然上機(jī)時(shí)間只有短短兩個(gè)星期但從中確實(shí)學(xué)到了不少知識(shí)。上機(jī)時(shí)間只有短短兩個(gè)星期但從中確實(shí)學(xué)到了不少知識(shí)。

數(shù)據(jù)結(jié)構(gòu)可以說是計(jì)算機(jī)里一門基礎(chǔ)課程,據(jù)結(jié)構(gòu)可以說是計(jì)算機(jī)里一門基礎(chǔ)課程,但我覺得我們一低計(jì)算機(jī)里一門基礎(chǔ)課程定要把基礎(chǔ)學(xué)扎實(shí),定要把基礎(chǔ)學(xué)扎實(shí),然而這次短短的上機(jī)幫我又重新鞏固了c語言知識(shí),讓我的水平又一部的提高。數(shù)據(jù)結(jié)構(gòu)這是一門語言知識(shí)讓我的水平又一部的提高。數(shù)據(jù)結(jié)構(gòu)這是一門知識(shí),純屬于設(shè)計(jì)的科目,它需用把理論變?yōu)樯蠙C(jī)調(diào)試。

純屬于設(shè)計(jì)的科目,它需用把理論變?yōu)樯蠙C(jī)調(diào)試。它對(duì)我們來說具有一定的難度。它是其它編程語言的一門基本學(xué)科。來說具有一定的難度。它是其它編程語言的'一門基本學(xué)科。我選的上機(jī)題目是交叉合并兩個(gè)鏈表,對(duì)這個(gè)題目,我選的上機(jī)題目是交叉合并兩個(gè)鏈表,對(duì)這個(gè)題目,我覺得很基礎(chǔ)。剛開始調(diào)試代碼的時(shí)候有時(shí)就是一個(gè)很小的錯(cuò)覺得很基礎(chǔ)。剛開始調(diào)試代碼的時(shí)候有時(shí)就是一個(gè)很小的錯(cuò)調(diào)試代碼的時(shí)候誤,導(dǎo)致整個(gè)程序不能運(yùn)行,然而開始的我還沒從暑假的狀導(dǎo)致整個(gè)程序不能運(yùn)行,態(tài)轉(zhuǎn)到學(xué)習(xí)上,每當(dāng)程序錯(cuò)誤時(shí)我都非常焦躁,態(tài)轉(zhuǎn)到學(xué)習(xí)上,每當(dāng)程序錯(cuò)誤時(shí)我都非常焦躁,甚至想到了放棄,但我最終找到了狀態(tài),一步一步慢慢來,放棄,但我最終找到了狀態(tài),一步一學(xué)無止境,得自已懂得的知識(shí)很是不足,學(xué)無止境,以后還會(huì)更加的努力深入的學(xué)習(xí)。力深入的學(xué)習(xí)。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇二十二

數(shù)據(jù)結(jié)構(gòu)與算法(data structures)

計(jì)算機(jī)技術(shù)已成為現(xiàn)代化發(fā)展的重要支柱和標(biāo)志,并逐步滲透到人類生活的各個(gè)領(lǐng)域。隨著計(jì)算機(jī)硬件的發(fā)展,對(duì)計(jì)算機(jī)軟件的發(fā)展也提出了越來越高的要求。由于軟件的核心是算法,而算法實(shí)際上是對(duì)加工數(shù)據(jù)過程的描述,所以研究數(shù)據(jù)結(jié)構(gòu)對(duì)提高編程能力和設(shè)計(jì)高性能的算法是至關(guān)重要的。

非數(shù)值計(jì)算問題的數(shù)學(xué)模型不再是傳統(tǒng)的數(shù)學(xué)方程問題,而是諸如表、樹、圖之類的數(shù)據(jù)結(jié)構(gòu)。因此,簡(jiǎn)單地說,數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計(jì)算的程序設(shè)計(jì)問題的學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和算法。

一、教學(xué)目的與要求---了解數(shù)據(jù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu);

教學(xué)要求在每章教學(xué)內(nèi)容給出,大體上為三個(gè)層次:了解、掌握和熟練掌握。他們的含義大致為:了解是正確理解概念,掌握是學(xué)會(huì)所學(xué)知識(shí),熟練掌握就是運(yùn)用所學(xué)知識(shí)解決實(shí)際問題。

教學(xué)目的為:了解算法對(duì)于程序設(shè)計(jì)的重要性 ; 學(xué)習(xí)掌握基本數(shù)據(jù)結(jié)構(gòu)的描述與實(shí)現(xiàn)方法,熟練掌握典型數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用算法的設(shè)計(jì)。了解算法分析方法。

二、教學(xué)重點(diǎn)與難點(diǎn)--數(shù)據(jù)結(jié)構(gòu)中基本概念和術(shù)語,算法描述和分析方法。

1、鏈表插入、刪除運(yùn)算的算法。算法時(shí)間復(fù)雜度

2、后綴表達(dá)式的算法,數(shù)制的換算

利用本章的基本知識(shí)設(shè)計(jì)相關(guān)的應(yīng)用問題

3、循環(huán)隊(duì)列的特點(diǎn)及判斷溢出的條件

利用隊(duì)列的特點(diǎn)設(shè)計(jì)相關(guān)的應(yīng)用問題

4、串的模式匹配運(yùn)算算法

5、二叉樹遍歷算法的設(shè)計(jì)

利用二叉樹遍歷算法,解決簡(jiǎn)單應(yīng)用問題 哈夫曼樹的算法

6、圖的遍歷

最小生成樹

最短路徑

7、二叉排序樹查找

平衡樹二叉樹

8、堆排序

快速排序 歸并排序

四、教學(xué)內(nèi)容、目標(biāo)與學(xué)時(shí)分配

教學(xué)內(nèi)容 教學(xué)目標(biāo) 課時(shí)分配

1、緒論

數(shù)據(jù)結(jié)構(gòu)的內(nèi)容

邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)

算法和算法分析

2、線性表

線性表的定義與運(yùn)算

線性表的順序存儲(chǔ)

線性表的鏈?zhǔn)酱鎯?chǔ)

3、棧

棧的定義與運(yùn)算

棧存儲(chǔ)和實(shí)現(xiàn)

棧的應(yīng)用舉例

4、隊(duì)列

隊(duì)列的定義與基本運(yùn)算

隊(duì)列的存儲(chǔ)與實(shí)現(xiàn)

隊(duì)列的應(yīng)用舉例

5、串

串的定義與基本運(yùn)算

串的表示與實(shí)現(xiàn)

串的基本運(yùn)算

6、樹和二叉樹

樹的定義和術(shù)語

二叉樹樹的基本概念和術(shù)語 遍歷二叉數(shù)和線索二叉樹

二叉樹的轉(zhuǎn)換

二叉樹的應(yīng)用

哈夫曼樹及其應(yīng)用

7、圖

圖的定義和術(shù)語

圖的存儲(chǔ)結(jié)構(gòu)

圖的遍歷算法

圖的連通性

8、查找

查找的基本概念與靜態(tài)查找 動(dòng)態(tài)查找

哈希表

了解

了解

掌握

熟練掌握順序表存儲(chǔ)地址的計(jì)算

掌握單鏈表的結(jié)構(gòu)特點(diǎn)和基本運(yùn)算

掌握雙鏈表的結(jié)構(gòu)特點(diǎn)和基本運(yùn)算

掌握棧的定義與運(yùn)算

掌握棧的存儲(chǔ)與實(shí)現(xiàn)

熟練掌握棧的各種實(shí)際應(yīng)用

掌握隊(duì)列的定義與基本運(yùn)算

熟練掌握隊(duì)列的存儲(chǔ)與實(shí)現(xiàn)

掌握循環(huán)隊(duì)列的特征和基本運(yùn)算

了解串的邏輯結(jié)構(gòu)

掌握串的存儲(chǔ)結(jié)構(gòu)

熟練掌握串的基本運(yùn)算

了解

了解二叉樹

熟練掌握二叉樹定義和存儲(chǔ)結(jié)構(gòu)

了解二叉樹的遍歷算法

掌握

掌握哈夫曼的建立及編碼

了解

了解

熟練掌握

熟練掌握

了解

熟練掌握

了解哈希表與哈希方法

4學(xué)時(shí)

1學(xué)時(shí)

1學(xué)時(shí)

2學(xué)時(shí)

8學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

4學(xué)時(shí)

8學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

4學(xué)時(shí)

6學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

6學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

12學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

8學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

8學(xué)時(shí)

4學(xué)時(shí)

2學(xué)時(shí)

2學(xué)時(shí)

9、排序

12學(xué)時(shí) 插入排序

熟練掌握基本思想

3學(xué)時(shí) 快速排序

了解各種內(nèi)部排序方法和特點(diǎn)

3學(xué)時(shí) 選擇排序

掌握

2學(xué)時(shí) 各種排序方法比較

掌握

2學(xué)時(shí)

實(shí)驗(yàn)內(nèi)容 實(shí)驗(yàn)?zāi)繕?biāo) 課時(shí)分配 算法編程實(shí)驗(yàn):

1、用指針方式編寫程序 復(fù)習(xí)c(c++)語言指針、結(jié)構(gòu)體等的用法

2、對(duì)單鏈表進(jìn)行遍歷

鏈表的描述與操作實(shí)現(xiàn)

3、棧及其操作

描述方法及操作

4、編寫串子系統(tǒng)1 串的特點(diǎn)及順序定長(zhǎng)存儲(chǔ)、操作、查找

5、編寫串子系統(tǒng) 2 串的特點(diǎn)及順序定長(zhǎng)存儲(chǔ)、操作、查找

6、編寫樹子系統(tǒng)1 二叉樹的特點(diǎn)及存儲(chǔ)方式、創(chuàng)建、顯示、遍歷等

7、編寫樹子系統(tǒng)2 二叉樹的特點(diǎn)及存儲(chǔ)方式、創(chuàng)建、顯示、遍歷等

8、圖子系統(tǒng)

圖的鄰接矩陣的存儲(chǔ)、遍歷、廣度/深度優(yōu)先搜索

9、查找子系統(tǒng)

理解查找基本算法、平均查找長(zhǎng)度、靜態(tài)、動(dòng)態(tài)查找等

五、考試范圍與題型

1、考試范圍與分?jǐn)?shù)比例

1)緒論

12% 2)線性表

17% 3)棧

7% 4)隊(duì)列

6% 5)串

4% 6)樹和二叉樹

14% 7)圖

15% 8)查找

4% 9)排序

21%

2、考試題型與分?jǐn)?shù)比例

1)名詞解釋

18% 2)判斷對(duì)錯(cuò)

16% 3)填空

16% 4)單項(xiàng)選擇

18% 5)應(yīng)用

32%

六、教材與參考資料

1、教材: 實(shí)用數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)(譚浩強(qiáng))中國鐵道出版社

2、參考資料: 數(shù)據(jù)結(jié)構(gòu)(嚴(yán)蔚敏)清華大學(xué)出版社

數(shù)據(jù)結(jié)構(gòu)實(shí)用教程(徐孝凱)清華大學(xué)出版社

(撰寫人:

,審核人: 2學(xué)時(shí) 2學(xué)時(shí) 2學(xué)時(shí) 2學(xué)時(shí) 2學(xué)時(shí) 2學(xué)時(shí) 2學(xué)時(shí) 2學(xué)時(shí) 2學(xué)時(shí))

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇二十三

談到計(jì)算機(jī)方面的專業(yè)課程,我覺得數(shù)據(jù)結(jié)構(gòu)算是一門必不可少的課了,它是計(jì)算機(jī)從業(yè)和研究人員了解、開發(fā)及最大程度的利用計(jì)算機(jī)硬件的一種工具。數(shù)據(jù)結(jié)構(gòu)與算法分析是兩門緊密聯(lián)系的課程,算法要靠好的數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn),二者的關(guān)系是密不可分的,談到算法不得不講數(shù)據(jù)結(jié)構(gòu),談數(shù)據(jù)結(jié)構(gòu)也不可避免的要了解算法,好的算法一定有一個(gè)好的數(shù)據(jù)結(jié)構(gòu),很多算法實(shí)際上是對(duì)某種數(shù)據(jù)結(jié)構(gòu)實(shí)行的一種變換,研究算法也就是研究在實(shí)行變換過程中數(shù)據(jù)的動(dòng)態(tài)性質(zhì)。這兩門課程分別是我在大二和研一的時(shí)候?qū)W的,因?yàn)樗鼈兠芮械穆?lián)系,這里將其放在一起總結(jié)如下。

什么是數(shù)據(jù)結(jié)構(gòu)呢?研究數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)(物理結(jié)構(gòu))以及它們之間的關(guān)系,且為該結(jié)構(gòu)定義相應(yīng)的運(yùn)算設(shè)計(jì)相應(yīng)的算法。這里的數(shù)據(jù)是指可輸入到計(jì)算機(jī)能被程序處理的符號(hào)的集合。其中,數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)之間邏輯關(guān)系的描述,邏輯結(jié)構(gòu)的分類有線性結(jié)構(gòu)、樹形結(jié)構(gòu)和圖結(jié)構(gòu)。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)在計(jì)算機(jī)中存儲(chǔ)結(jié)構(gòu),也稱為物理結(jié)構(gòu),它有4類基本的存儲(chǔ)映射方法:1.順序的方法;2.鏈接的方法;3.索引的方法;4.散列的方法。在程序設(shè)計(jì)語言中,數(shù)據(jù)結(jié)構(gòu)直接反映在數(shù)據(jù)類型上,比如一個(gè)整型變量就是一個(gè)節(jié)點(diǎn),根據(jù)類型給他分配內(nèi)存單元。抽象數(shù)據(jù)類型:一組值以及在這些值上定義的操作集合,它是描述數(shù)據(jù)結(jié)構(gòu)的一種理論工具,其特點(diǎn)是把數(shù)據(jù)結(jié)構(gòu)作為獨(dú)立于應(yīng)用程序的一種抽象代數(shù)結(jié)構(gòu)。

線性表結(jié)構(gòu):由一系列元素組成的有序的序列,除了第一個(gè)元素和最后一個(gè)元素外,每個(gè)元素都只有一個(gè)直接前趨和直接后繼,元素的個(gè)數(shù)稱為線性表的長(zhǎng)度。它的存儲(chǔ)方式有順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)。順序存儲(chǔ)方式它的優(yōu)點(diǎn)是存儲(chǔ)單元是連續(xù)的,適合快速訪問元素內(nèi)容,鏈表的特點(diǎn)是動(dòng)態(tài)申請(qǐng)內(nèi)存空間,并通過指針來鏈接結(jié)點(diǎn),按照線性表的前驅(qū)關(guān)系把一個(gè)個(gè)結(jié)點(diǎn)鏈接起來,這樣可以動(dòng)態(tài)地根據(jù)需要分配內(nèi)存空間,經(jīng)常用于插入新結(jié)點(diǎn)或刪除節(jié)點(diǎn)的需要,鏈表還可以根據(jù)結(jié)點(diǎn)中指針個(gè)數(shù)分為單鏈表、雙鏈表、循環(huán)鏈表等。在線性表結(jié)構(gòu)中有兩類特別的線性表:棧和隊(duì)列。棧是一種限制訪問端口的線性表,常稱為后進(jìn)先出表。正是這種特殊的性質(zhì)使得棧的用途非常廣泛,比如在計(jì)算表達(dá)式的值時(shí)處理運(yùn)算符的先后次序,另外一個(gè)大的用處就是遞歸了,hanoi 塔就是最典型的用了遞歸的思想,在算法中,也有很多運(yùn)用遞歸思想的例子。隊(duì)列也屬于限制訪問點(diǎn)的線性表,它的特點(diǎn)就是加入和刪除元素都只能在隊(duì)列的一端進(jìn)行,即隊(duì)列首出,隊(duì)列尾進(jìn),最大的特點(diǎn)是先來先服務(wù),先進(jìn)先出。因?yàn)檫@個(gè)特點(diǎn),隊(duì)列常被用作消息緩沖器。

在算法設(shè)計(jì)中,順序表主要用于檢索,而利用棧中的遞歸思想在算法中則應(yīng)用非常廣泛,如遞歸排序,分治算法等。

樹結(jié)構(gòu):是一種非常重要的非線性數(shù)據(jù)結(jié)構(gòu),它是由一個(gè)根結(jié)點(diǎn)和若干葉結(jié)點(diǎn)組成的樹狀結(jié)構(gòu),除了根結(jié)點(diǎn)每個(gè)結(jié)點(diǎn)只能有一個(gè)父節(jié)點(diǎn),可以有若干子結(jié)點(diǎn),若干個(gè)樹結(jié)構(gòu)還可以構(gòu)成森林,樹的存儲(chǔ)結(jié)構(gòu)也分為順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ),最典型的是左孩子右兄弟法。在樹結(jié)構(gòu)中比較重要的算法就是周游(遍歷)樹,有先根次序、后根次序以及中根次序。樹結(jié)構(gòu)中有幾類非常重要的特殊樹結(jié)構(gòu),如二叉樹,b樹,b+樹等,其中,二叉樹應(yīng)用最為廣泛。

二叉樹:是指每個(gè)結(jié)點(diǎn)最多有兩個(gè)子結(jié)點(diǎn)的樹結(jié)構(gòu),具體細(xì)分,根據(jù)葉子結(jié)點(diǎn)的特性可分為滿二叉樹、完全二叉樹等。二叉樹的遍歷也分為深度優(yōu)先和廣度優(yōu)先。另外,二叉樹有幾條非常重要的性質(zhì),這也使得它的應(yīng)用非常廣泛。

在算法設(shè)計(jì)中,典型的利用樹的深度優(yōu)先遍歷的算法是回溯法,而典型的廣度優(yōu)先搜索算法是分枝定界法。

圖:是一種較線性表和樹更為復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。一般來講,數(shù)據(jù)的邏輯結(jié)構(gòu)可表示為結(jié)點(diǎn)的有窮集合k和k上的一個(gè)關(guān)系r,如果對(duì)k中結(jié)點(diǎn)相對(duì)于r的前驅(qū)、后繼個(gè)數(shù)加以限制,則可以分別定義線性結(jié)構(gòu)、樹形結(jié)構(gòu)和圖結(jié)構(gòu),即:

圖結(jié)構(gòu):不限制前驅(qū)的個(gè)數(shù),亦不限制后繼的個(gè)數(shù),反映一種網(wǎng)狀關(guān)系。

通常用g=(v,e)代表一個(gè)圖,其中v是頂點(diǎn)集,e是邊集。圖分為有向圖和無向圖,圖的存儲(chǔ)方式有鄰接表和鄰接矩陣法。和樹類似的,圖中也需要周游,同樣有深度優(yōu)先搜索和廣度優(yōu)先搜索,而比樹的周游要更復(fù)雜,也更重要。在這一塊中,有兩種比較典型的求最短路徑和最小支撐樹的算法需要注意,它們分別是dijkstra算法和prim算法。另外需要注意的是圖的連通性。

在算法設(shè)計(jì)中,典型的用到圖論的算法有貪心算法和動(dòng)態(tài)規(guī)劃算法。

(1)輸入:有零個(gè)或多個(gè)由外部提供的量作為算法的輸入。(2)輸出:算法產(chǎn)生至少一個(gè)量作為輸出。

(3)確定性:組成算法的每條指令是清晰的,無歧義的。(4)有限性:算法中每條指令的執(zhí)行次數(shù)是有限的,執(zhí)行每條指令的時(shí)間也是有限的。

我們研究一個(gè)算法或者評(píng)價(jià)一個(gè)算法主要是通過估計(jì)該算法的復(fù)雜性,包括時(shí)間復(fù)雜性和空間復(fù)雜性。空間復(fù)雜性是指使用該算法的程序在運(yùn)行時(shí)需要占用多少內(nèi)存空間,具體包括指令空間、數(shù)據(jù)空間和環(huán)境棧空間。時(shí)間復(fù)雜性是指執(zhí)行該程序所需要的時(shí)間量級(jí),通常是估算的時(shí)間,包括編譯時(shí)間和運(yùn)行時(shí)間。同時(shí)評(píng)價(jià)一個(gè)算法的好壞還要看其時(shí)間復(fù)雜性和空間復(fù)雜性隨著輸入規(guī)模的增長(zhǎng)趨勢(shì),一般能接受的最好是線性增長(zhǎng)。在算法設(shè)計(jì)這本書中,每介紹一個(gè)算法都會(huì)分析其算法復(fù)雜度,由此可看出它的重要性。

首先,從遞歸的分治算法開始。分治算法的基本思想是將一個(gè)規(guī)模為n的問題分解為k個(gè)規(guī)模較小的子問題,這些子問題互相獨(dú)立且與原問題相同。遞歸的解這些子問題,然后將各個(gè)子問題的解合并得到原問題的解。該算法的主要應(yīng)用有大整數(shù)乘法,矩陣乘法、合并排序等??梢源蟠蠼档退惴ǖ臅r(shí)間復(fù)雜度,但使用遞歸棧可能增加程序的空間規(guī)模。

動(dòng)態(tài)規(guī)劃算法和貪心算法:與分治算法類似,動(dòng)態(tài)規(guī)劃的基本思想也是將待求解問題分解成若干子問題,先求解子問題,然后從這些子問題的解得到原問題的解。與分治算法不同的是,適合于用動(dòng)態(tài)規(guī)劃法求解的問題,經(jīng)分解得到的子問題往往不是相互獨(dú)立的。動(dòng)態(tài)規(guī)劃算法適用于解最優(yōu)化問題。通??砂匆韵?個(gè)步驟:

(1)找出最優(yōu)解的性質(zhì),并刻畫其結(jié)構(gòu)特征。(2)遞歸的定義最優(yōu)值。

(3)以自底向上的方式計(jì)算出最優(yōu)值。

(4)根據(jù)計(jì)算最優(yōu)值時(shí)得到的信息,構(gòu)造最優(yōu)解。

動(dòng)態(tài)規(guī)劃算法的基本要素是最優(yōu)子結(jié)構(gòu)性質(zhì)和子問題重疊性質(zhì)。

最優(yōu)子結(jié)構(gòu)性質(zhì)。如果問題的最優(yōu)解所包含的子問題的解也是最優(yōu)的,我們就稱該問題具有最優(yōu)子結(jié)構(gòu)性質(zhì)(即滿足最優(yōu)化原理)。最優(yōu)子結(jié)構(gòu)性質(zhì)為動(dòng)態(tài)規(guī)劃算法解決問題提供了重要線索。

子問題重疊性質(zhì)。子問題重疊性質(zhì)是指在用遞歸演算法自頂向下對(duì)問題進(jìn)行求解時(shí),每次產(chǎn)生的子問題并不總是新問題,有些子問題會(huì)被重復(fù)計(jì)算多次。動(dòng)態(tài)規(guī)劃算法正是利用了這種子問題的重疊性質(zhì),對(duì)每一個(gè)子問題只計(jì)算一次,然后將其計(jì)算結(jié)果保存在一個(gè)表格中,當(dāng)再次需要計(jì)算已經(jīng)計(jì)算過的子問題時(shí),只是在表格中簡(jiǎn)單地查看一下結(jié)果,從而獲得較高的效率。

另外一點(diǎn)要素是備忘錄方法,它作為動(dòng)態(tài)規(guī)劃算法的變形,用表格保存已解決問題的答案,在下次需要解此子問題時(shí),只要簡(jiǎn)單查看子問題的解答,而不必重新計(jì)算。與動(dòng)態(tài)規(guī)劃不同的是備忘錄方法的遞歸是自頂向下的,而動(dòng)態(tài)規(guī)劃則是自底向上的。

動(dòng)態(tài)規(guī)劃算法設(shè)計(jì)策略典型的應(yīng)用案例有:矩陣連乘、最大字段和、流水作業(yè)調(diào)度等。有時(shí)滿足動(dòng)態(tài)規(guī)劃條件的問題可以有更好的算法,比如貪心算法。貪心算法即總是做出在當(dāng)前看來是最好的選擇。也就是說貪心算法并不從整體最優(yōu)上加以考慮,它所做的總是做出的選擇只是在某種意義上的局部最優(yōu)。這種啟發(fā)式的策略并不能總是奏效,然而對(duì)某些特定的問題確能達(dá)到預(yù)期目的。比如活動(dòng)安排的例子。

貪心算法的基本要素主要有貪心選擇性質(zhì)和最優(yōu)子結(jié)構(gòu)性質(zhì)。所謂貪心選擇性質(zhì)是指所求問題的整體最優(yōu)解可以通過一系列局部最優(yōu)的選擇,即貪心選擇來達(dá)到。這是貪心算法與動(dòng)態(tài)規(guī)劃的主要區(qū)別,它們的共同點(diǎn)是都要求問題具有最優(yōu)子結(jié)構(gòu)性質(zhì)。

貪心算法的典型案列是:活動(dòng)安排、最優(yōu)裝載問題、最短路徑和最優(yōu)生成樹問題?;厮莘ê头种Χń绶ǎ夯厮莘ㄓ小巴ㄓ玫慕忸}法”之稱。用它可以系統(tǒng)的搜索一個(gè)問題的所有解或任一解。它在問題的解空間樹中,按深度優(yōu)先策略,從根節(jié)點(diǎn)出發(fā)搜索解空間樹。其算法框架包含遞歸回溯和迭代回溯,兩個(gè)特別的解空間樹為子集樹和排列樹。典型的回溯法的案例有:批處理作業(yè)調(diào)度、圖的m著色、旅行售貨員問題、0-1背包問題等。

分枝定界法類似于回溯法,也是在問題的解空間上搜索問題解的算法。一般情況下,分治定界法與回溯法的求解目標(biāo)不同?;厮莘ǖ那蠼饽繕?biāo)是找出解空間中滿足約束條件的所有 的解,而分枝定界法的求解目標(biāo)則是找出滿足約束條件的一個(gè)解,或是滿足約束條件的解中找出使某一目標(biāo)函數(shù)值達(dá)到極大或極小的解,即在某種意義下的最優(yōu)解。由于求解目標(biāo)不同,導(dǎo)致分支定界法與回溯法對(duì)解空間的搜索方式也不相同?;厮莘ㄒ陨疃葍?yōu)先的方式搜索解空間,而分枝定界法則以廣度優(yōu)先或以最小耗費(fèi)優(yōu)先的方式搜索解空間。

另外,在算法分析中一定要提的是np問題。首先需要介紹p(polynomial,多項(xiàng)式)問題.p問題是可以在多項(xiàng)式時(shí)間內(nèi)被確定機(jī)(通常意義的計(jì)算機(jī))解決的問題。np(non-deterministic polynomial, 非確定多項(xiàng)式)問題,是指可以在多項(xiàng)式時(shí)間內(nèi)被非確定機(jī)(他可以猜,他總是能猜到最能滿足你需要的那種選擇,如果你讓他解決n皇后問題,他只要猜n次就能完成----每次都是那么幸運(yùn))解決的問題.這里有一個(gè)著名的問題----千禧難題之首,是說p問題是否等于np問題,也即是否所有在非確定機(jī)上多項(xiàng)式可解的問題都能在確定機(jī)上用多項(xiàng)式時(shí)間求解。

np完全(np complete,npc)問題是指這樣一類np問題,所有的np問題都可以用多項(xiàng)式時(shí)間劃歸到他們中的一個(gè)。所以顯然np完全的問題具有如下性質(zhì):它可以在多項(xiàng)式時(shí)間內(nèi)求解,當(dāng)且僅當(dāng)所有的其他的np-完全問題也可以在多項(xiàng)式時(shí)間內(nèi)求解。這樣一來,只要我們找到一個(gè)npc問題的多項(xiàng)式解,所有的np問題都可以多項(xiàng)式時(shí)間內(nèi)劃歸成這個(gè)npc問題,再用多項(xiàng)式時(shí)間解決,這樣np就等于p了。

小結(jié)一下,在算法設(shè)計(jì)這么課中學(xué)了這么幾大類典型的算法,里面也涉及到具體的應(yīng)用案例,但我覺得學(xué)算法的目的遠(yuǎn)不是學(xué)會(huì)這幾種固定的特殊問題的解法而已,事實(shí)上領(lǐng)會(huì)這些巧妙算法背后的思想然后學(xué)會(huì)遷移到其他新的問題中去才是領(lǐng)會(huì)了算法設(shè)計(jì)的精髓。

數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)心得體會(huì)篇二十四

一、《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》的目標(biāo)

課程設(shè)計(jì)是《數(shù)據(jù)結(jié)構(gòu)》課程的一個(gè)重要的實(shí)踐環(huán)節(jié),它可加深學(xué)生對(duì)該課程所學(xué)內(nèi)容的進(jìn)一步的理解與鞏固,達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,提高學(xué)生組織數(shù)據(jù)及編寫大型程序的能力,培養(yǎng)基本的對(duì)基本數(shù)據(jù)結(jié)構(gòu)的理解和運(yùn)用,良好的程序設(shè)計(jì)方法、提高編碼及調(diào)試程序技能的能力,為整個(gè)專業(yè)的學(xué)習(xí)以及軟件設(shè)計(jì)水平的提高打下良好的基礎(chǔ)。

二、設(shè)計(jì)內(nèi)容

每位學(xué)生可以從《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)備選題目》中選擇一個(gè)題目自行完成。要求每班中題目不能重復(fù)。

三、設(shè)計(jì)要求

1.學(xué)生必須仔細(xì)閱讀《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)任務(wù)書》,認(rèn)真主動(dòng)完成課設(shè)的要求。有問題及時(shí)主動(dòng)通過各種方式與指導(dǎo)教師聯(lián)系溝通。

2.學(xué)生要發(fā)揮自主學(xué)習(xí)的能力,充分利用時(shí)間,安排好課設(shè)的時(shí)間計(jì)劃,并在課設(shè)過程中不斷檢測(cè)自己的計(jì)劃完成情況,及時(shí)向教師匯報(bào)。

3.課程設(shè)計(jì)按照教學(xué)要求需要兩周時(shí)間完成,學(xué)院安排設(shè)計(jì)時(shí)

間學(xué)生不得缺席。

4、每位學(xué)生必須認(rèn)真、獨(dú)立完成設(shè)計(jì)任務(wù),發(fā)現(xiàn)抄襲者或雷同者,一律按零分處理。

5、程序設(shè)計(jì)語言可選擇c或c++。

6、程序要正確且具有一定的健壯性,不會(huì)因?yàn)橛脩舻妮斎脲e(cuò)誤引起程序運(yùn)行錯(cuò)誤而中斷執(zhí)行,對(duì)輸入值的類型、大小范圍、字符串的長(zhǎng)度等,進(jìn)行正確性檢查,對(duì)不合法的輸入值給出出錯(cuò)信息,指出錯(cuò)誤類型,等待重新輸入。

四、上交相關(guān)內(nèi)容要求

上交的成果的內(nèi)容必須由以下三個(gè)部分組成,缺一不可。

3. 課程設(shè)計(jì)報(bào)告:(保存在word 文檔中,文件名要求按照“學(xué)號(hào)_姓名_課程設(shè)計(jì)報(bào)告題目”起名,如文件名為“001_張三_二叉樹動(dòng)態(tài)演示”.doc)。報(bào)告要求文字工整通順、圖表規(guī)范、思路清楚、內(nèi)容正確。設(shè)計(jì)報(bào)告必須按照規(guī)定格式規(guī)范,a4紙雙面打印、裝訂。

將以上三個(gè)部分放在一個(gè)文件夾里,文件夾名要求按照"學(xué)號(hào)_姓名_課程設(shè)計(jì)報(bào)告題目”.zip命名。每個(gè)班將所有學(xué)生的文件夾收集起來刻成光盤上交。

五、時(shí)間安排

設(shè)計(jì)時(shí)間為兩周(7.07—7.18),7月16日—7月18日答辯。考核方式

成績(jī)按五分制,包括課程設(shè)計(jì)過程、課程設(shè)計(jì)結(jié)果、課程設(shè)計(jì)報(bào)告三部分。其中:

課程設(shè)計(jì)過程:20%

包括設(shè)計(jì)態(tài)度(10分)、出勤(10分)

課程設(shè)計(jì)結(jié)果:40%

其中:程序正確性:30分,運(yùn)行效果:10分,答辯:10分。課程設(shè)計(jì)報(bào)告:40%

其中:正確性:20分,完整性:10分,規(guī)范性:10分。

六、設(shè)計(jì)報(bào)告格式

見《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告模板》。

【本文地址:http://mlvmservice.com/zuowen/4120194.html】

全文閱讀已結(jié)束,如果需要下載本文請(qǐng)點(diǎn)擊

下載此文檔