數據結構課程設計心得體會
當在某些事情上我們有很深的體會時,可以將其記錄在心得體會中,如此就可以提升我們寫作能力了。那么寫心得體會要注意的內容有什么呢?以下是小編為大家收集的數據結構課程設計心得體會,僅供參考,歡迎大家閱讀。
數據結構課程設計心得體會1
通過兩周的課程設計,完成了預定的目標,其中有很多的隨想。老師的題目發下來的很早,大概提前了3周,當時就著手搜索有關線索二叉樹的思想,思路,借了一本《數據結構—c語言描述》,在大體上就有了一個輪廓,先是輸入二叉樹,在對二叉樹進行線索化,依次往下,但在具體實現時,遇到了很多問題:首先是思想的確定,其非常重要,以前有了這個想法,現在愈加清晰起來,因此,花了大量的時間在插入刪除的具體操作設計上,大概三個晚上的時間,對其中什么不清晰明確之處均加以推敲,效果是顯著的,在上機上相應的節約了時間。
通過具體的實驗編碼,思路是對的,但是在小問題上摔了一次又一次,大部分時間都是花在這方面,這個節點沒傳過來啊之類的,以后應該搞一個小冊子,記錄一些錯誤的集合,以避免再犯,思想與C語言聯系起來,才是我們所需要的,即常說的理論與實踐的關系。
數據結構是基礎的一門課,對于有過編程經驗的人,結合自己的編程體會去悟它的思想;而且我覺得隨著編程經歷的豐富對它的體會越深入,最初接觸是對一些思想可能只是生硬的記憶,隨著學習的深入逐漸領悟了很多。看了這次課程設計的題目,雖然具體要求沒有看清,但是總結一下,可以看出,其需要我們能把一個具體案例或一件事情反映為程序來表達,數據結構就是橋梁,通過自己的設計,使應用能力得以融匯,對與問題,具有了初步的分析,繼而解決之的能力,感覺對以后的學習會有很大的幫助,學習無非是用于實踐。
認識到自己的不足,希望能有進一步的發展。
數據結構課程設計心得體會2
通過本次課程設計,對圖的概念有了一個新的認識,在學習離散數學的時候,總覺得圖是很抽象的東西,但是在學習了《數據結構與算法》這門課程之后,我慢慢地體會到了其中的奧妙,圖能夠在計算機中存在,首先要捕捉他有哪些具體化、數字化的信息,比如說權值、頂點個數等,這也就說明了想要把生活中的信息轉化到計算機中必須用數字來完整的構成一個信息庫,而圖的存在,又涉及到了頂點之間的聯系。
圖分為有向圖和無向圖,而無向圖又是有向圖在權值雙向相等下的一種特例,如何能在計算機中表示一個雙向權值不同的圖,這就是一件很巧妙的事情,經過了思考和老師同學的幫助,我用edges[i][j]=up和edges[j][i]=up就能實現了一個雙向圖信息的存儲。
對整個程序而言,Dijkstra算法始終都是核心內容,其實這個算法在實際思考中并不難,也許我們誰都知道找一個路徑最短的方法,及從頂點一步一步找最近的路線并與其直接距離相比較,但是,在計算機中實現這么一個很簡單的想法就需要涉及到很多專業知識,為了完成設計,在前期工作中,基本都是以學習C語言為主,所以浪費了很多時間,比如說在程序中,刪除頂點和增加頂點的模塊中都有和建圖模塊相互重復的函數,但是由于技術的原因,只能做一些很累贅的函數,可見在調用知識點,我沒有掌握好。不過,有了這次課程設計的經驗和教訓,我能夠很清楚的對自己定一個合適的水平,而且在這次課程設計中我學會了運用兩個新的函數sprintf和包涵在#include頭文件中的輸入函數。因為課程設計的題目是求最短路徑,本來是想通過算法的實現把這個程序與交通情況相連,但是因為來不及查找各地的信息,所以,這個計劃就沒有實現,我相信在以后有更長時間的情況下,我會做出來的。
數據結構課程設計心得體會3
通過本次課程設計,對圖的概念有了一個新的認識,在學習離散數學的時候,總覺得圖是很抽象的東西,但是在學習了《數據結構與算法》這門課程之后,我慢慢地體會到了其中的奧妙,圖能夠在計算機中存在,首先要捕捉他有哪些具體化、數字化的信息,比如說權值、頂點個數等,這也就說明了想要把生活中的信息轉化到計算機中必須用數字來完整的構成一個信息庫,而圖的存在,又涉及到了頂點之間的聯系。圖分為有向圖和無向圖,而無向圖又是有向圖在權值雙向相等下的一種特例,如何能在計算機中表示一個雙向權值不同的圖,這就是一件很巧妙的事情,經過了思考和老師同學的幫助,我用edges[i][j]=up和edges[j][i]=up就能實現了一個雙向圖信息的存儲。
對整個程序而言,Dijkstra算法始終都是核心內容,其實這個算法在實際思考中并不難,也許我們誰都知道找一個路徑最短的方法,及從頂點一步一步找最近的路線并與其直接距離相比較,但是,在計算機中實現這么一個很簡單的想法就需要涉及到很多專業知識,為了完成設計,在前期工作中,基本都是以學習C語言為主,所以浪費了很多時間,比如說在程序中,刪除頂點和增加頂點的模塊中都有和建圖模塊相互重復的函數,但是由于技術的原因,只能做一些很累贅的函數,可見在調用知識點,我沒有掌握好。
不過,有了這次課程設計的經驗和教訓,我能夠很清楚的對自己定一個合適的水平,而且在這次課程設計中我學會了運用兩個新的函數sprintf和包涵在#include頭文件中的輸入函數。因為課程設計的題目是求最短路徑,本來是想通過算法的實現把這個程序與交通情況相連,但是因為來不及查找各地的信息,所以,這個計劃就沒有實現,我相信在以后有更長時間的情況下,我會做出來的。
1、鞏固和加深了對數據結構的理解,提高綜合運用本課程所學知識的能力。
2、培養了我選用參考書,查閱手冊及文獻資料的能力。培養獨立思考,深入研究,分析問題、解決問題的能力。
3、通過實際編譯系統的分析設計、編程調試,掌握應用軟件的分析方法和工程設計方法。
4、通過課程設計,培養了我嚴肅認真的工作作風,逐步建立正確的生產觀念、經濟觀念和全局觀念。
根據我在實習中遇到得問題,我將在以后的學習過程中注意以下幾點:
1、認真上好專業實驗課,多在實踐中鍛煉自己。
2、寫程序的過程中要考慮周到,嚴密。
3、在做設計的時候要有信心,有耐心,切勿浮躁。
4、認真的學習課本知識,掌握課本中的知識點,并在此基礎上學會靈活運用。
5、在課余時間里多寫程序,熟練掌握在調試程序的過程中所遇到的常見錯誤,以便能節省調試程序的時間。
這是一門純屬于設計的科目,它需用把理論變為上機調試。在學習科目的第一節課起,李老師就為我們闡述了它的重要性。它對我們來說具有一定的難度。它是其它編程語言的一門基本學科。
剛開始學的'時候確實有很多地方我很不理解,每次上課時老師都會給我們出不同的設計題目,對于我們一個初學者來說,無疑是一個具大的挑戰,撞了幾次壁之后,我決定靜下心來,仔細去寫程序。老師會給我們需要編程的內容一些講解,順著老師的思路,來完成自己的設計,我們可以開始運行自己的程序,可是好多處的錯誤讓人看的可怕,還看不出到底是哪里出現了錯誤,但是程序還是得繼續下去,我多次請教了老師和同學,逐漸能自己找出錯誤,并加以改正。
TC里檢查錯誤都是用英文來顯示出來的,經過了這次課程設計,現在已經可以了解很多錯誤在英文里的提示,這對我來說是一個突破性的進步,眼看著一個個錯誤通過自己的努力在我眼前消失,覺得很是開心。此次的程序設計能夠成功,是我和我的同學三個人共同努力作用的結果。在這一段努力學習的過程中,我們的編程設計有了明顯的提高。
其實現在想起來,收獲還真是不少,雖然說以前非常不懂這門語言,在它上面花費了好多心血,覺得它很難,是需用花費了大量的時間編寫出來的。現在真正的明白了一些代碼的應用,每個程序都有一些共同點,通用的結構,相似的格式。只要努力去學習,就會靈活的去應用它。
數據結構課程設計心得體會4
本次課程設計,使我對《數據結構》這門課程有了更深入的理解。《數據結構》是一門實踐性較強的課程,為了學好這門課程,必須在掌握理論知識的同時,加強上機實踐。
我的課程設計題目是線索二叉樹的運算。剛開始做這個程序的時候,感到完全無從下手,甚至讓我覺得完成這次程序設計根本就是不可能的,于是開始查閱各種資料以及參考文獻,之后便開始著手寫程序,寫完運行時有很多問題。特別是實現線索二叉樹的刪除運算時很多情況沒有考慮周全,經常運行出現錯誤,但通過同學間的幫助最終基本解決問題。
在本課程設計中,我明白了理論與實際應用相結合的重要性,并提高了自己組織數據及編寫大型程序的能力。培養了基本的、良好的程序設計技能以及合作能力。這次課程設計同樣提高了我的綜合運用所學知識的能力。并對VC有了更深入的了解。《數據結構》是一門實踐性很強的課程,上機實習是對學生全面綜合素質進行訓練的一種最基本的方法,是與課堂聽講、自學和練習相輔相成的、必不可少的一個教學環節。上機實習一方面能使書本上的知識變“活”,起到深化理解和靈活掌握教學內容的目的;另一方面,上機實習是對學生軟件設計的綜合能力的訓練,包括問題分析,總體結構設計,程序設計基本技能和技巧的訓練。此外,還有更重要的一點是:機器是比任何教師更嚴厲的檢查者。因此,在“數據結構”的學習過程中,必須嚴格按照老師的要求,主動地、積極地、認真地做好每一個實驗,以不斷提高自己的編程能力與專業素質。
通過這段時間的課程設計,我認識到數據結構是一門比較難的課程。需要多花時間上機練習。這次的程序訓練培養了我實際分析問題、編程和動手能力,使我掌握了程序設計的基本技能,提高了我適應實際,實踐編程的能力。
總的來說,這次課程設計讓我獲益匪淺,對數據結構也有了進一步的理解和認識。
數據結構課程設計心得體會5
完成了這次的二元多項式加減運算問題的課程設計后,我的心得體會很多,細細梳理一下,有以下幾點:
1、程序的編寫中的語法錯誤及修改
因為我在解決二元多項式問題中,使用了鏈表的方式建立的二元多項式,所以程序的空間是動態的生成的,而且鏈表可以靈活地添加或刪除結點,所以使得程序得到簡化。但是出現的語法問題主要在于子函數和變量的定義,降序排序,關鍵字和函數名稱的書寫,以及一些庫函數的規范使用,這些問題均可以根據編譯器的警告提示,對應的將其解決。
2、程序的設計中的邏輯問題及其調整
我在設計程序的過程中遇到許多問題,首先在選擇數據結構的時候選擇了鏈表,但是鏈表的排序比較困難,特別是在多關鍵字的情況下,在一種關鍵字確定了順序以后,在第一關鍵字相同的時候,按某種順序對第二關鍵字進行排序。在此程序中共涉及到3個量數,即:系數,x的指數和y的指數,而關鍵字排是按x的指數和y的指數來看,由于要求是降冪排序且含有2個關鍵字,所以我先選擇x的指數作為第一關鍵字,先按x的降序來排序,當x的指數相同時,再以y為關鍵字,按照y的指數大小來進行降序排列。
另外,我在加法函數的編寫過程中也遇到了大量的問題,由于要同時比較多個關鍵字,而且設計中涉及了數組和鏈表的綜合運用,導致反復修改了很長的時間才完成了一個加法的設計。但是,現在仍然有一個問題存在:若以0為系數的項是首項則顯示含有此項,但是運算后則自動消除此項,這樣是正確的。但是當其不是首項的時候,加法函數在顯示的時候有0為系數的項時,0前邊不顯示符號,當然,這樣也可以理解成當系數為0時,忽略這一項。這也是本程序中一個不完美的地方。
我在設計減法函數的時候由于考慮不夠充分就直接編寫程序,走了很多彎路,不得不停下來仔細研究算法,后來發現由于前邊的加法函數完全適用于減法,只不過是將二元多項式B的所有項取負再用加法函數即可,可見算法的重要性不低于程序本身。
3、程序的調試中的經驗及體會
我在調試過程中,發生了許多小細節上的問題,它們提醒了自己在以后編程的時候要注意細節,即使是一個括號的遺漏或者一個字符的誤寫都會造成大量的錯誤,浪費許多時間去尋找并修改,總結的教訓就是寫程序的時候,一定要仔細、認真、專注。
我還有一個很深的體會就是格式和注釋,由于平時不注意格式和注釋這方面的要求,導致有的時候在檢查和調試的時候很不方便。有的時候甚至剛剛完成一部分的編輯,結果一不注意,就忘記了這一部分程序的功能。修改的時候也有不小心誤刪的情況出現。如果注意格式風格,并且養成隨手加注釋的習慣,就能減少這些不必要的反復和波折。還有一點,就是在修改的時候,要注意修改前后的不同點在哪里,改后調試結果要在原有的基礎上更加精確。
數據結構課程設計心得體會6
做了一個星期的程序設計終于做完了,在這次程序設計課中,真是讓我獲益匪淺,我突然發現寫程序還挺有意思的。
由于上學期的C語言跟這學期的數據結構都算不上真正的懂,對于書上的稍微難點的知識就是是而非的,所以我只是對老師的程序理解,我也試著去改變了一些變量,自己也盡量多的去理解老師做程序的思路。當我第一天坐在那里的時候,我就不知道該做些什么,后來我只有下來自己看了一遍書來熟悉下以前學過的知識。
通過這次的程序設計,發現一個程序設計就是算法與數據結構的結合體,自己也開始對程序產生了前所未有的興趣,以前偷工減料的學習也不可能一下子寫出一個程序出來,于是我就認真看老師寫的程序,發現我們看懂了一個程序其實不難,難的是對于一個程序的思想的理解,我們要掌握一個算法,不僅僅限于讀懂,主要的是要理解老師的思路,學習老師的解決問題的方法。
這次試驗中,我發現書本上的知識是一個基礎,但是我基礎都沒掌握,更別說寫出一個整整的程序了。自己在寫程序的時候,也發現自己的知識太少了,特別是基礎知識很多都是模模糊糊的一個概念,沒有落實到真正的程序,所以自己寫的時候也感到萬分痛苦,基本上涉及一個知識我就會去看看書,對于書本上的知識沒掌握好。在飯后閑暇時間我也總結了一下,自己以前上課也認真的聽了,但是還是寫不出來,這主要歸結于自己的練習太少了,而且也總是半懂就不管了。在改寫老師的程序中也出現了很多的問題,不斷的修改就是不斷的學習過程,當我們全身心的投入其中時,實際上是一件很有樂趣的事情。對于以后的學習有了幾點總結:第一、熟記各種數據結構類型,定義、特點、基本運算(分開點一點也沒多少東西,難度不大,但是基本);第二、各種常用的排序算法,如冒泡排序、堆排序……,這些是必考的內容,分數不會少于20%;第三,多做習題,看題型,針對題型來有選擇復習;數據結構看上去很復雜,但你靜下心來把書掃上幾遍,分解各個知識點,這一下來,學數據結構的思路就會很清晰了。
【數據結構課程設計心得體會】相關文章:
Java 數據結構09-28
課程設計格式及心得體會08-04
Java中的數據結構09-26
課程設計學習心得體會范文12-15
課程設計心得體會(匯編15篇)03-13
Java數據結構和算法筆記11-27
Java常用數據結構及類09-30
課程設計小結01-27
關于數據結構基本英語單詞11-30
考研計算機數據結構復習注意要點12-15