- 相關(guān)推薦
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會(集合10篇)
當我們受到啟發(fā),對學(xué)習和工作生活有了新的看法時,通常就可以寫一篇心得體會將其記下來,這樣可以記錄我們的思想活動。一起來學(xué)習心得體會是如何寫的吧,下面是小編收集整理的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會,希望對大家有所幫助。
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會1
通過本次課程設(shè)計,對圖的概念有了一個新的認識,在學(xué)習離散數(shù)學(xué)的時候,總覺得圖是很抽象的東西,但是在學(xué)習了《數(shù)據(jù)結(jié)構(gòu)與算法》這門課程之后,我慢慢地體會到了其中的奧妙,圖能夠在計算機中存在,首先要捕捉他有哪些具體化、數(shù)字化的信息,比如說權(quán)值、頂點個數(shù)等,這也就說明了想要把生活中的信息轉(zhuǎn)化到計算機中必須用數(shù)字來完整的構(gòu)成一個信息庫,而圖的存在,又涉及到了頂點之間的聯(lián)系。圖分為有向圖和無向圖,而無向圖又是有向圖在權(quán)值雙向相等下的'一種特例,如何能在計算機中表示一個雙向權(quán)值不同的圖,這就是一件很巧妙的事情,經(jīng)過了思考和老師同學(xué)的幫助,我用edges[i][j]=up和edges[j][i]=up就能實現(xiàn)了一個雙向圖信息的存儲。對整個程序而言,dijkstra算法始終都是核心內(nèi)容,其實這個算法在實際思考中并不難,也許我們誰都知道找一個路徑最短的方法,及從頂點一步一步找最近的路線并與其直接距離相比較,但是,在計算機中實現(xiàn)這么一個很簡單的想法就需要涉及到很多專業(yè)知識,為了完成設(shè)計,在前期工作中,基本都是以學(xué)習c語言為主,所以浪費了很多時間,比如說在程序中,刪除頂點和增加頂點的模塊中都有和建圖模塊相互重復(fù)的函數(shù),但是由于技術(shù)的原因,只能做一些很累贅的函數(shù),可見在調(diào)用知識點,我沒有掌握好。不過,有了這次課程設(shè)計的經(jīng)驗和教訓(xùn),我能夠很清楚的對自己定一個合適的水平,而且在這次課程設(shè)計中我學(xué)會了運用兩個新的函數(shù)sprintf和包涵在include頭文件中的輸入函數(shù)。因為課程設(shè)計的題目是求最短路徑,本來是想通過算法的實現(xiàn)把這個程序與交通情況相連,但是因為來不及查找各地的信息,所以,這個
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會2
本次課程設(shè)計,使我對《數(shù)據(jù)結(jié)構(gòu)》這門課程有了更深入的理解。《數(shù)據(jù)結(jié)構(gòu)》是一門實踐性較強的課程,為了學(xué)好這門課程,必須在掌握理論知識的同時,加強上機實踐。
我的課程設(shè)計題目是線索二叉樹的運算。剛開始做這個程序的時候,感到完全無從下手,甚至讓我覺得完成這次程序設(shè)計根本就是不可能的,于是開始查閱各種資料以及參考文獻,之后便開始著手寫程序,寫完運行時有很多問題。特別是實現(xiàn)線索二叉樹的刪除運算時很多情況沒有考慮周全,經(jīng)常運行出現(xiàn)錯誤,但通過同學(xué)間的幫助最終基本解決問題。
在本課程設(shè)計中,我明白了理論與實際應(yīng)用相結(jié)合的重要性,并提高了自己組織數(shù)據(jù)及編寫大型程序的能力。培養(yǎng)了基本的、良好的程序設(shè)計技能以及合作能力。這次課程設(shè)計同樣提高了我的綜合運用所學(xué)知識的'能力。并對vc有了更深入的了解。《數(shù)據(jù)結(jié)構(gòu)》是一門實踐性很強的課程,上機實習是對學(xué)生全面綜合素質(zhì)進行訓(xùn)練的一種最基本的方法,是與課堂聽講、自學(xué)和練習相輔相成的、必不可少的一個教學(xué)環(huán)節(jié)。上機實習一方面能使書本上的知識變“活”,起到深化理解和靈活掌握教學(xué)內(nèi)容的目的;另一方面,上機實習是對學(xué)生軟件設(shè)計的綜合能力的訓(xùn)練,包括問題分析,總體結(jié)構(gòu)設(shè)計,程序設(shè)計基本技能和技巧的訓(xùn)練。此外,還有更重要的一點是:機器是比任何教師更嚴厲的檢查者。因此,在“數(shù)據(jù)結(jié)構(gòu)”的學(xué)習過程中,必須嚴格按照老師的要求,主動地、積極地、認真地做好每一個實驗,以不斷提高自己的編程能力與專業(yè)素質(zhì)。
通過這段時間的課程設(shè)計,我認識到數(shù)據(jù)結(jié)構(gòu)是一門比較難的課程。需要多花時間上機練習。這次的程序訓(xùn)練培養(yǎng)了我實際分析問題、編程和動手能力,使我掌握了程序設(shè)計的基本技能,提高了我適應(yīng)實際,實踐編程的能力。
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會3
本學(xué)期開設(shè)的《數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)》課程已經(jīng)告一段落,現(xiàn)就學(xué)習體會進行學(xué)習總結(jié)。
這是一門純屬于設(shè)計的科目,它需用把理論變?yōu)樯蠙C調(diào)試。剛開始學(xué)的時候確實有很多地方我很不理解,每次上課時老師都會給我們出不同的設(shè)計題目,對于我們一個初學(xué)者來說,無疑是一個具大的挑戰(zhàn),撞了幾次壁之后,我決定靜下心來,仔細去寫程序。老師會給我們需要編程的內(nèi)容一些講解,順著老師的思路,來完成自己的設(shè)計,我們可以開始運行自己的程序。
這門課結(jié)束之后,我總結(jié)了學(xué)習中遇到的一些問題,最為突出的,書本上的知識與老師的講解都比較容易理解,但是當自己采用剛學(xué)的知識點編寫程序時卻感到十分棘手,有時表現(xiàn)在想不到適合題意的算法,有時表現(xiàn)在算法想出來后,只能將書本上原有的程序段謄寫到自己的程序中再加以必要的連接以完成程序的編寫。剛開始學(xué)的時候確實有很多地方我很不理解,每次上上機課時老師都會給我們出不同的設(shè)計題目,對于我們一個初學(xué)者來說,無疑是一個具大的挑戰(zhàn),撞了幾次壁之后,我決定靜下心來,仔細去寫程序。老師會給我們需要編程的內(nèi)容一些講解,順著老師的思路,來完成自己的設(shè)計,我們可以開始運行自己的程序,可是好多處的錯誤讓人看的可怕,還看不出到底是哪里出現(xiàn)了錯誤,但是程序還是得繼續(xù)下去,我多次請教了老師和同學(xué),逐漸能自己找出錯誤,并加以改正。TC里檢查錯誤都是用英文來顯示出來的,經(jīng)過了這次課程設(shè)計,現(xiàn)在已經(jīng)可以了解很多錯誤在英文里的提示,這對我來說是一個突破性的進步,眼看著一個個錯誤通過自己的努力在我眼前消失,覺得很是開心。此次的程序設(shè)計能夠成功,是我和我的同學(xué)三個人共同努力作用的結(jié)果。在這一段努力學(xué)習的過程中,我們的編程設(shè)計有了明顯的.提高。
其實現(xiàn)在想起來,收獲還真是不少,雖然說以前非常不懂這門語言,在它上面花費了好多心血,覺得它很難,是需用花費了大量的時間編寫出來的,F(xiàn)在真正的明白了一些代碼的應(yīng)用,每個程序都有一些共同點,通用的結(jié)構(gòu),相似的格式。只要努力去學(xué)習,就會靈活的去應(yīng)用它。
以上便是我對《數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)》這門課的學(xué)習總結(jié),我會抓緊時間將沒有吃透的知識點補齊,克服學(xué)習中遇到的難關(guān),在打牢基礎(chǔ)的前提下向更深入的層面邁進!
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會4
通過兩周的課程設(shè)計,完成了預(yù)定的目標,其中有很多的隨想。老師的題目發(fā)下來的很早,大概提前了3周,當時就著手搜索有關(guān)線索二叉樹的思想,思路,借了一本《數(shù)據(jù)結(jié)構(gòu)-c語言描述》,在大體上就有了一個輪廓,先是輸入二叉樹,在對二叉樹進行線索化,依次往下,但在具體實現(xiàn)時,遇到了很多問題:首先是思想的確定,其非常重要,以前有了這個想法,現(xiàn)在愈加清晰起來,因此,花了大量的時間在插入刪除的具體操作設(shè)計上,大概三個晚上的時間,對其中什么不清晰明確之處均加以推敲,效果是顯著的,在上機上相應(yīng)的節(jié)約了時間。
通過具體的實驗編碼,思路是對的,但是在小問題上摔了一次又一次,大部分時間都是花在這方面,這個節(jié)點沒傳過來啊之類的,以后應(yīng)該搞一個小冊子,記錄一些錯誤的集合,以避免再犯,思想與C語言聯(lián)系起來,才是我們所需要的,即常說的理論與實踐的關(guān)系。
數(shù)據(jù)結(jié)構(gòu)是基礎(chǔ)的一門課,對于有過編程經(jīng)驗的人,結(jié)合自己的編程體會去悟它的思想;而且我覺得隨著編程經(jīng)歷的豐富對它的體會越深入,最初接觸是對一些思想可能只是生硬的`記憶,隨著學(xué)習的深入逐漸領(lǐng)悟了很多。看了這次課程設(shè)計的題目,雖然具體要求沒有看清,但是總結(jié)一下,可以看出,其需要我們能把一個具體案例或一件事情反映為程序來表達,數(shù)據(jù)結(jié)構(gòu)就是橋梁,通過自己的設(shè)計,使應(yīng)用能力得以融匯,對與問題,具有了初步的分析,繼而解決之的能力,感覺對以后的學(xué)習會有很大的幫助,學(xué)習無非是用于實踐。
認識到自己的不足,希望能有進一步的發(fā)展。
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會5
課程設(shè)計是計算機科學(xué)與技術(shù)專業(yè)學(xué)生的集中實踐性環(huán)節(jié)之一,是學(xué)習“數(shù)據(jù)結(jié)構(gòu)與算法”理論和實驗課程后進行的一次全面的綜合練習。其目的是要達到理論與實際應(yīng)用相結(jié)合,使學(xué)生能夠根據(jù)問題要求和數(shù)據(jù)對象的特性,學(xué)會數(shù)據(jù)組織的方法,把現(xiàn)實世界中的實際問題在計算機內(nèi)部表示出來并用軟件解決問題,培養(yǎng)良好的程序設(shè)計技能。
在這次課程設(shè)計當中,我了解到了我的不足,如算法的不完善、不細心和耐心不是很好等等。不細心的我在調(diào)試程序時,老是因為某個書寫錯誤導(dǎo)致錯誤;對這些錯誤,我不得不花大量的`時間去更正,并且還要重復(fù)檢查是否出現(xiàn)雷同的錯誤而導(dǎo)致程序不能運行。但是通過這次課程設(shè)計,我的這些缺點有些改善。我在寫新的程序時,首先要考慮的深入一點、仔細一點,這樣要修改程序的時間就會少很多。并且也不會因為自己不細心而導(dǎo)致的浪費時間的情況出現(xiàn)。
在進行程序設(shè)計時,要注意想好思路。即要有恰當模塊名、變量名、常量名、子程序名等。將每個功能的模塊,即函數(shù)名要清晰的表述出來,使用戶能夠一目了然此程序的功能。當然適當?shù)慕o寫注釋,也是方便用戶的理解。還有在編寫程序時要注意對程序的適當分配,便于用戶看懂程序,也便于自己檢查城市。但是完成任何一個較大的程序,都需要掌握一定的編程基礎(chǔ),需要不斷的探索和求知過程,這樣對自己編程能力的提高有較大的幫助。當然,任何程序必須經(jīng)過計算機的調(diào)試,看是否調(diào)試成功,發(fā)現(xiàn)錯誤,一個個,一步步去解決,這樣就能從錯誤中進步。
通過課程設(shè)計加強了我的動手能力,以及提升了局部和統(tǒng)一考慮問題的思維方式。回顧起此次課程設(shè)計,至今我仍感慨頗多,的確,從從拿到題目到完成整個編程,從理論到實踐,在整整半個月的日子里,可以學(xué)到很多很多的的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說結(jié)構(gòu)體通過這次課程設(shè)計之后,一定把以前所學(xué)過的知識重新溫故。
通過這次的課程設(shè)計,我學(xué)到了怎么樣從一個實際問題出發(fā),建立模型,找到相應(yīng)的存儲結(jié)構(gòu)和實現(xiàn)方法,實際運行,反復(fù)調(diào)試和修改,最終實現(xiàn)功能。在程序設(shè)計方法以及上機操作等基本技能和科學(xué)作風方面受到比較系統(tǒng)和嚴格的訓(xùn)練,學(xué)會數(shù)據(jù)組織的方法,把現(xiàn)實世界中的實際問題在計算機內(nèi)部表示出來并用軟件解決問題,培養(yǎng)了良好的程序設(shè)計技能。
在這次課程設(shè)計中,得到了好多同學(xué)的幫助以及老師的指導(dǎo),在此要表達我真誠的謝意!
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會6
通過本次課程設(shè)計,對圖的概念有了一個新的認識,在學(xué)習離散數(shù)學(xué)的時候,總覺得圖是很抽象的東西,但是在學(xué)習了《數(shù)據(jù)結(jié)構(gòu)與算法》這門課程之后,我慢慢地體會到了其中的奧妙,圖能夠在計算機中存在,首先要捕捉他有哪些具體化、數(shù)字化的信息,比如說權(quán)值、頂點個數(shù)等,這也就說明了想要把生活中的信息轉(zhuǎn)化到計算機中必須用數(shù)字來完整的構(gòu)成一個信息庫,而圖的存在,又涉及到了頂點之間的聯(lián)系。圖分為有向圖和無向圖,而無向圖又是有向圖在權(quán)值雙向相等下的一種特例,如何能在計算機中表示一個雙向權(quán)值不同的圖,這就是一件很巧妙的事情,經(jīng)過了思考和老師同學(xué)的幫助,我用edges[i][j]=up和edges[j][i]=up就能實現(xiàn)了一個雙向圖信息的存儲。
對整個程序而言,Dijkstra算法始終都是核心內(nèi)容,其實這個算法在實際思考中并不難,也許我們誰都知道找一個路徑最短的方法,及從頂點一步一步找最近的路線并與其直接距離相比較,但是,在計算機中實現(xiàn)這么一個很簡單的想法就需要涉及到很多專業(yè)知識,為了完成設(shè)計,在前期工作中,基本都是以學(xué)習C語言為主,所以浪費了很多時間,比如說在程序中,刪除頂點和增加頂點的`模塊中都有和建圖模塊相互重復(fù)的函數(shù),但是由于技術(shù)的原因,只能做一些很累贅的函數(shù),可見在調(diào)用知識點,我沒有掌握好。
不過,有了這次課程設(shè)計的經(jīng)驗和教訓(xùn),我能夠很清楚的對自己定一個合適的水平,而且在這次課程設(shè)計中我學(xué)會了運用兩個新的函數(shù)sprintf和包涵在#include頭文件中的輸入函數(shù)。因為課程設(shè)計的題目是求最短路徑,本來是想通過算法的實現(xiàn)把這個程序與交通情況相連,但是因為來不及查找各地的信息,所以,這個計劃就沒有實現(xiàn),我相信在以后有更長時間的情況下,我會做出來的。
1、鞏固和加深了對數(shù)據(jù)結(jié)構(gòu)的理解,提高綜合運用本課程所學(xué)知識的能力。
2、培養(yǎng)了我選用參考書,查閱手冊及文獻資料的能力。培養(yǎng)獨立思考,深入研究,分析問題、解決問題的能力。
3、通過實際編譯系統(tǒng)的分析設(shè)計、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計方法。
4、通過課程設(shè)計,培養(yǎng)了我嚴肅認真的工作作風,逐步建立正確的生產(chǎn)觀念、經(jīng)濟觀念和全局觀念。
根據(jù)我在實習中遇到得問題,我將在以后的學(xué)習過程中注意以下幾點:
1、認真上好專業(yè)實驗課,多在實踐中鍛煉自己。
2、寫程序的過程中要考慮周到,嚴密。
3、在做設(shè)計的時候要有信心,有耐心,切勿浮躁。
4、認真的學(xué)習課本知識,掌握課本中的知識點,并在此基礎(chǔ)上學(xué)會靈活運用。
5、在課余時間里多寫程序,熟練掌握在調(diào)試程序的過程中所遇到的常見錯誤,以便能節(jié)省調(diào)試程序的時間。
這是一門純屬于設(shè)計的科目,它需用把理論變?yōu)樯蠙C調(diào)試。在學(xué)習科目的第一節(jié)課起,李老師就為我們闡述了它的重要性。它對我們來說具有一定的難度。它是其它編程語言的一門基本學(xué)科。
剛開始學(xué)的時候確實有很多地方我很不理解,每次上課時老師都會給我們出不同的設(shè)計題目,對于我們一個初學(xué)者來說,無疑是一個具大的挑戰(zhàn),撞了幾次壁之后,我決定靜下心來,仔細去寫程序。老師會給我們需要編程的內(nèi)容一些講解,順著老師的思路,來完成自己的設(shè)計,我們可以開始運行自己的程序,可是好多處的錯誤讓人看的可怕,還看不出到底是哪里出現(xiàn)了錯誤,但是程序還是得繼續(xù)下去,我多次請教了老師和同學(xué),逐漸能自己找出錯誤,并加以改正。
TC里檢查錯誤都是用英文來顯示出來的,經(jīng)過了這次課程設(shè)計,現(xiàn)在已經(jīng)可以了解很多錯誤在英文里的提示,這對我來說是一個突破性的進步,眼看著一個個錯誤通過自己的努力在我眼前消失,覺得很是開心。此次的程序設(shè)計能夠成功,是我和我的同學(xué)三個人共同努力作用的結(jié)果。在這一段努力學(xué)習的過程中,我們的編程設(shè)計有了明顯的提高。
其實現(xiàn)在想起來,收獲還真是不少,雖然說以前非常不懂這門語言,在它上面花費了好多心血,覺得它很難,是需用花費了大量的時間編寫出來的,F(xiàn)在真正的明白了一些代碼的應(yīng)用,每個程序都有一些共同點,通用的結(jié)構(gòu),相似的格式。只要努力去學(xué)習,就會靈活的去應(yīng)用它。
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會7
做了一個星期的程序設(shè)計終于做完了,在這次程序設(shè)計課中,真是讓我獲益匪淺,我突然發(fā)現(xiàn)寫程序還挺有意思的。
由于上學(xué)期的C語言跟這學(xué)期的數(shù)據(jù)結(jié)構(gòu)都算不上真正的懂,對于書上的稍微難點的知識就是是而非的,所以我只是對老師的程序理解,我也試著去改變了一些變量,自己也盡量多的去理解老師做程序的思路。當我第一天坐在那里的時候,我就不知道該做些什么,后來我只有下來自己看了一遍書來熟悉下以前學(xué)過的知識。
通過這次的程序設(shè)計,發(fā)現(xiàn)一個程序設(shè)計就是算法與數(shù)據(jù)結(jié)構(gòu)的結(jié)合體,自己也開始對程序產(chǎn)生了前所未有的興趣,以前偷工減料的學(xué)習也不可能一下子寫出一個程序出來,于是我就認真看老師寫的程序,發(fā)現(xiàn)我們看懂了一個程序其實不難,難的是對于一個程序的思想的理解,我們要掌握一個算法,不僅僅限于讀懂,主要的是要理解老師的思路,學(xué)習老師的解決問題的方法。
這次試驗中,我發(fā)現(xiàn)書本上的知識是一個基礎(chǔ),但是我基礎(chǔ)都沒掌握,更別說寫出一個整整的程序了。自己在寫程序的時候,也發(fā)現(xiàn)自己的`知識太少了,特別是基礎(chǔ)知識很多都是模模糊糊的一個概念,沒有落實到真正的程序,所以自己寫的時候也感到萬分痛苦,基本上涉及一個知識我就會去看看書,對于書本上的知識沒掌握好。在飯后閑暇時間我也總結(jié)了一下,自己以前上課也認真的聽了,但是還是寫不出來,這主要歸結(jié)于自己的練習太少了,而且也總是半懂就不管了。在改寫老師的程序中也出現(xiàn)了很多的問題,不斷的修改就是不斷的學(xué)習過程,當我們?nèi)硇牡耐度肫渲袝r,實際上是一件很有樂趣的事情。對于以后的學(xué)習有了幾點總結(jié):第一、熟記各種數(shù)據(jù)結(jié)構(gòu)類型,定義、特點、基本運算(分開點一點也沒多少東西,難度不大,但是基本);第二、各種常用的排序算法,如冒泡排序、堆排序……,這些是必考的內(nèi)容,分數(shù)不會少于20%;第三,多做習題,看題型,針對題型來有選擇復(fù)習;數(shù)據(jù)結(jié)構(gòu)看上去很復(fù)雜,但你靜下心來把書掃上幾遍,分解各個知識點,這一下來,學(xué)數(shù)據(jù)結(jié)構(gòu)的思路就會很清晰了。
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會8
本次課程設(shè)計所用到的知識完全是上學(xué)期的知識,通過這次課程設(shè)計,我認識到了我對數(shù)據(jù)結(jié)構(gòu)這門課的掌握程度。
首先我這個課程設(shè)計是關(guān)于二叉樹的,由于是剛接觸二叉樹,所以我掌握的長度并不深。在編程之前我把有關(guān)于二叉樹的知識有溫習了一遍,還好并沒有忘掉。二叉樹這章節(jié)難度中上等,而且內(nèi)容廣泛,所以我只掌握了百分之六七十。
然后,在編程中我認識到了自己動手能力的不足,雖然相比較大二而言進步很大,但是我還是不滿意,有的在編程中必須看書才能寫出來,有的靠百度,很少是自己寫的。還好,我自己組裝程序的能力還行,要不這東拼西湊的程序根本組裝不了。在編程中我還認識到了,編程不能停下,如果編程的時間少了,知識忘的會很快,而且動手也會很慢。同時,同學(xué)之間的合作也很重要,每個人掌握的知識都不一樣,而且掌握程度也不一樣,你不會的別的同學(xué)會,所以在大家的共同努力下,編程會變得很容易。在這次編程中,我了解到了自己某些方面的不足,比如說鏈表的知識,雖然我能做一些有關(guān)于鏈表的編程,但是很慢,沒有別人編程的快,另外,二叉樹和圖的知識最不好掌握,這方面的知識廣泛而復(fù)雜。以前,沒動手編程的時候覺得這些知識很容易,現(xiàn)在編程了才發(fā)現(xiàn)自己錯了,大錯特錯了,我們這個專業(yè)最重視的就是動手編程能力,如果我們紙上寫作能力很強而動手編程能力很差,那我們就白上這個專業(yè)了。計算機這個專業(yè)就是鍛煉動手編程能力的,一個人的理論知識再好,沒有動手編程能力,那他只是一個計算機專業(yè)的“入門者”。在編程中我們能找到滿足,如果我們自己編程了一個程序,我們會感到自豪,而且充實,因為如果我們專研一個難得程序,我們會達到忘我的境界,自己完全沉浸在編程的那種樂趣之中,完全會廢寢忘食。編程雖然會乏味很無聊,但是只要我們沉浸其中,你就會發(fā)現(xiàn)里面的樂趣,遇到難得,你會勇往直前,不寫出來永不罷休;遇到容易的',你會找到樂趣。編程是很乏味,但是那是因為你沒找到編程重的樂趣,你只看到了他的不好,而沒有看到他的好。其實,只要你找到編程中得樂趣,你就會完全喜歡上他,不編程還好,一編程你就會變成一個兩耳不聞窗外事的“植物人”。可以說只要你涉及到了計算機,你就的會編程,而且還要喜歡上他,永遠和他打交道,我相信在某一天,我們一定會把他當作我們不可或缺的好朋友。
最后我要談的是長時間編程的好處,俗話說“熟能生巧”,確實是這樣。如果我們長時間不編程,在一接觸他,我們會感到很陌生。有規(guī)律的編程會提高我們的動手能力,我們的思維,也會讓我們變得很細心。在一個幾千行的程序中,我們都能找到錯誤,那我們還會怕其他的錯誤嗎?可以說編程是我們在我們這一行業(yè)的一把利劍,如果我們能很好的利用它,我們就會成為這個行業(yè)的真正成功者。也許你會說就算變成好了也不一定成功,是的,但是你不會編程就一定不會成功。如果,我們想成為這個專業(yè)的成功者,我們就得愛上編程,不管他是怎么得乏味,怎么得無聊,我們都不能丟掉他。
總之,動手編程就是鍛煉我們的動手能力,當然這個動手能力并不是科研上的動手能力,而是我們的動手編程能力,記住,只要你真正的喜歡上他,你就會發(fā)現(xiàn)其中的樂趣,我相信,只要你堅持下去,你一定會喜歡上他,把編程當作自己日常生活中一件必須做的事情。
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會9
“數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計”是計算機科學(xué)與技術(shù)專業(yè)學(xué)生的集中實踐性環(huán)節(jié)之一,是學(xué)習“數(shù)據(jù)結(jié)構(gòu)與算法”理論和實驗課程后進行的一次全面的綜合練習。其目的是要達到理論與實際應(yīng)用相結(jié)合,提高學(xué)生組織數(shù)據(jù)及編寫程序的能力,使學(xué)生能夠根據(jù)問題要求和數(shù)據(jù)對象的特性,學(xué)會數(shù)據(jù)組織的方法,把現(xiàn)實世界中的實際問題在計算機內(nèi)部表示出來并用軟件解決問題,培養(yǎng)良好的程序設(shè)計技能。
當初拿到這次課程設(shè)計題目時,似乎無從下手,但是經(jīng)過分析可知,對于簡單文本編輯器來說功能有限,不外乎創(chuàng)作文本、顯示文本、統(tǒng)計文本中字母—數(shù)字—空格—特殊字符—文本總字數(shù)、查找、刪除及插入這幾項功能。于是,我進行分模塊進行編寫程序。雖然每個模塊程序并不大,但是每個模塊都要經(jīng)過一番思考才能搞清其算法思想,只要有了算法思想,再加上C程序語言基礎(chǔ),基本完成功能,但是,每個模塊不可能一次完成而沒有一點錯誤,所以,我給自己定了一個初級目標:用C語言大體描述每個算法,然后經(jīng)調(diào)試后改掉其中明顯的錯誤,并且根據(jù)調(diào)試結(jié)果改正一些算法錯誤,當然,這一目標實現(xiàn)較難。最后,經(jīng)過反復(fù)思考,看一下程序是否很完善,如果能夠達到更完善當然最好。并非我們最初想到的算法就是最好的算法,所以,有事我們會而不得不在編寫途中終止換用其他算法,但是,我認為這不是浪費時間,而是一種認識過程,在編寫程序中遇到的問題會為我們以后編寫程序積累經(jīng)驗,避免再犯同樣的錯誤。但是,有的方法不適用于這個程序,或許會適用于另外一個程序。所以,探索的過程是成長的`過程,是為成功做的鋪墊。經(jīng)過努力后獲得成功,會更有成就感。
在課程設(shè)計過程中通過獨立解決問題,首先分析設(shè)計題目中涉及到的數(shù)據(jù)類型,在我們學(xué)習的數(shù)據(jù)存儲結(jié)構(gòu)中不外乎線性存儲結(jié)構(gòu)及非線性存儲結(jié)構(gòu),非線性存儲結(jié)構(gòu)中有樹型,集合型,圖型等存儲結(jié)構(gòu),根據(jù)數(shù)據(jù)類型設(shè)計數(shù)據(jù)結(jié)點類型。然后根據(jù)設(shè)計題目的主要任務(wù),設(shè)計出程序大體輪廓(包括子函數(shù)和主函數(shù)),然后對每個子函數(shù)進行大體設(shè)計,過程中錯誤在所難免,所以要經(jīng)過仔細探索,對每個函數(shù)進行改進。
程序基本完成后,功能雖然齊全,但是程序是否完善(例如,輸入數(shù)據(jù)時是否在其范圍之內(nèi),所以加入判斷語句是很有必要的)還需運行測試多次,如有發(fā)現(xiàn)應(yīng)該對其進行改善,當然要在力所能及的前提下。
課程設(shè)計過程雖然短暫,但是使我深刻理解數(shù)據(jù)結(jié)構(gòu)和算法課程對編程的重要作用,還有“數(shù)據(jù)結(jié)構(gòu)與算法”還提供了一些常用的基本算法思想及算法的編寫程序。通過獨立完成設(shè)計題目,使我系統(tǒng)了解編程的基本步驟,提高分析和解決實際問題的能力。通過實踐積累經(jīng)驗,才能有所創(chuàng)新。正所謂,良好的基礎(chǔ)決定上層建筑。只有基本功做好了,才有可能做出更好的成果。
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會10
完成了這次的二元多項式加減運算問題的課程設(shè)計后,我的心得體會很多,細細梳理一下,有以下幾點:
1、程序的編寫中的語法錯誤及修改
因為我在解決二元多項式問題中,使用了鏈表的方式建立的二元多項式,所以程序的空間是動態(tài)的生成的,而且鏈表可以靈活地添加或刪除結(jié)點,所以使得程序得到簡化。但是出現(xiàn)的語法問題主要在于子函數(shù)和變量的定義,降序排序,關(guān)鍵字和函數(shù)名稱的書寫,以及一些庫函數(shù)的規(guī)范使用,這些問題均可以根據(jù)編譯器的警告提示,對應(yīng)的將其解決。
2、程序的設(shè)計中的邏輯問題及其調(diào)整
我在設(shè)計程序的`過程中遇到許多問題,首先在選擇數(shù)據(jù)結(jié)構(gòu)的時候選擇了鏈表,但是鏈表的排序比較困難,特別是在多關(guān)鍵字的情況下,在一種關(guān)鍵字確定了順序以后,在第一關(guān)鍵字相同的時候,按某種順序?qū)Φ诙P(guān)鍵字進行排序。在此程序中共涉及到3個量數(shù),即:系數(shù),x的指數(shù)和y的指數(shù),而關(guān)鍵字排是按x的指數(shù)和y的指數(shù)來看,由于要求是降冪排序且含有2個關(guān)鍵字,所以我先選擇x的指數(shù)作為第一關(guān)鍵字,先按x的降序來排序,當x的指數(shù)相同時,再以y為關(guān)鍵字,按照y的指數(shù)大小來進行降序排列。
另外,我在加法函數(shù)的編寫過程中也遇到了大量的問題,由于要同時比較多個關(guān)鍵字,而且設(shè)計中涉及了數(shù)組和鏈表的綜合運用,導(dǎo)致反復(fù)修改了很長的時間才完成了一個加法的設(shè)計。但是,現(xiàn)在仍然有一個問題存在:若以0為系數(shù)的項是首項則顯示含有此項,但是運算后則自動消除此項,這樣是正確的。但是當其不是首項的時候,加法函數(shù)在顯示的時候有0為系數(shù)的項時,0前邊不顯示符號,當然,這樣也可以理解成當系數(shù)為0時,忽略這一項。這也是本程序中一個不完美的地方。
我在設(shè)計減法函數(shù)的時候由于考慮不夠充分就直接編寫程序,走了很多彎路,不得不停下來仔細研究算法,后來發(fā)現(xiàn)由于前邊的加法函數(shù)完全適用于減法,只不過是將二元多項式B的所有項取負再用加法函數(shù)即可,可見算法的重要性不低于程序本身。
3、程序的調(diào)試中的經(jīng)驗及體會
我在調(diào)試過程中,發(fā)生了許多小細節(jié)上的問題,它們提醒了自己在以后編程的時候要注意細節(jié),即使是一個括號的遺漏或者一個字符的誤寫都會造成大量的錯誤,浪費許多時間去尋找并修改,總結(jié)的教訓(xùn)就是寫程序的時候,一定要仔細、認真、專注。
我還有一個很深的體會就是格式和注釋,由于平時不注意格式和注釋這方面的要求,導(dǎo)致有的時候在檢查和調(diào)試的時候很不方便。有的時候甚至剛剛完成一部分的編輯,結(jié)果一不注意,就忘記了這一部分程序的功能。修改的時候也有不小心誤刪的情況出現(xiàn)。如果注意格式風格,并且養(yǎng)成隨手加注釋的習慣,就能減少這些不必要的反復(fù)和波折。還有一點,就是在修改的時候,要注意修改前后的不同點在哪里,改后調(diào)試結(jié)果要在原有的基礎(chǔ)上更加精確。