我們在一些事情上受到啟發(fā)后,應(yīng)該馬上記錄下來,寫一篇心得體會,這樣我們可以養(yǎng)成良好的總結(jié)方法。那么心得體會該怎么寫?想必這讓大家都很苦惱吧。下面我給大家整理了一些心得體會范文,希望能夠幫助到大家。
數(shù)據(jù)結(jié)構(gòu)課程心得體會篇一
這次課程設(shè)計的心得體會通過實習我的收獲如下:
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)濟觀念和全局觀念。從剛開始得覺得很難,到最后把這個做出來,付出了很多,也得到了很多,以前總以為自己對編程的地方還不行,現(xiàn)在,才發(fā)現(xiàn)只要認真做,沒有什么不可能。
編程時要認真仔細,出現(xiàn)錯誤要及時找出并改正,(其中對英語的要求也體現(xiàn)出來了,因為它說明錯誤的時候都是英語)遇到問題要去查相關(guān)的資料。反復(fù)的調(diào)試程序,最好是多找?guī)讉€同學(xué)來對你的程序進行調(diào)試并聽其對你的程序的建議,在他們不知道程序怎么寫的時候完全以一個用戶的身份來用對你的用戶界面做一些建議,正所謂當局者迷旁觀者清,把各個注意的問題要想到;同時要形成自己的編寫程序與調(diào)試程序的風格,從每個細節(jié)出發(fā),不放過每個知識點,注意與理論的聯(lián)系和理論與實踐的差別。另外,要注意符號的使用,注意對字符處理,特別是對指針的使用很容易出錯且調(diào)試過程是不會報錯的,那么我們要始終注意指針的初始化不管它怎么用以免不必要麻煩。
通過近兩周的學(xué)習與實踐,體驗了一下離開課堂的學(xué)習,也可以理解為一次實踐與理論的很好的連接。特別是本組所做的題目都是課堂上所講的例子,在實行之的過程中并不是那么容易事讓人有一種紙上談兵的體會,正所謂紙上得來終覺淺絕知此事要躬行。實訓(xùn)過程中讓我們對懂得的知識做了進一步深入了解,讓我們的理解與記憶更深刻,對不懂的知識與不清楚的東西也做了一定的了解,也形成了一定的個人做事風格。
通過這次課程設(shè)計,讓我對一個程序的數(shù)據(jù)結(jié)構(gòu)有更全面更進一步的認識,根據(jù)不同的需求,采用不同的數(shù)據(jù)存儲方式,不一定要用棧,二叉樹等高級類型,有時用基本的一維數(shù)組,只要運用得當,也能達到相同的效果,甚至更佳,就如這次的課程設(shè)計,通過用for的多重循環(huán),舍棄多余的循環(huán),提高了程序的運行效率。在編寫這個程序的過程中,我復(fù)習了之前學(xué)的基本語法,哈弗曼樹最小路徑的求取,哈弗曼編碼及譯碼的應(yīng)用范圍,程序結(jié)構(gòu)算法等一系列的問題它使我對數(shù)據(jù)結(jié)構(gòu)改變了看法。在這次設(shè)計過程中,體現(xiàn)出自己單獨設(shè)計模具的能力以及綜合運用知識的能力,體會了學(xué)以致用、突出自己勞動成果的喜悅心情,也從中發(fā)現(xiàn)自己平時學(xué)習的不足和薄弱環(huán)節(jié),從而加以彌補。
數(shù)據(jù)結(jié)構(gòu)課程心得體會篇二
通過本次課程設(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)在想起來,收獲還真是不少,雖然說以前非常不懂這門語言,在它上面花費了好多心血,覺得它很難,是需用花費了大量的時間編寫出來的。現(xiàn)在真正的明白了一些代碼的應(yīng)用,每個程序都有一些共同點,通用的結(jié)構(gòu),相似的格式。只要努力去學(xué)習,就會靈活的去應(yīng)用它。
數(shù)據(jù)結(jié)構(gòu)課程心得體會篇三
1、運動會分數(shù)統(tǒng)計
任務(wù):參加運動會有n個學(xué)校,學(xué)校編號為1……n。比賽分成m個男子項目,和w個女子項目。項目編號為男子1……m,女子m+1……m+w。不同的項目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名或前三名由學(xué)生自己設(shè)定。(m=10 , w=8 , n=15)功能要求:
3).可以按學(xué)校編號、學(xué)校總分、男女團體總分排序輸出(快速、基數(shù));
4).可按學(xué)校編號查詢學(xué)校某個項目的情況;可按項目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校。
界面要求:有合理的提示,每個功能可以設(shè)立菜單,根據(jù)提示,可以完成相關(guān)的功能要求。
存儲結(jié)構(gòu):學(xué)生自己根據(jù)系統(tǒng)功能要求自己設(shè)計,但是要求運動會的相關(guān)數(shù)據(jù)要存儲在數(shù)據(jù)文件中。
測試數(shù)據(jù):要求使用
1、全部合法數(shù)據(jù);
2、迷宮求解
3、huffman編碼
4、營業(yè)窗口隊列模擬
任務(wù):實現(xiàn)具有n(n=3)個窗口的現(xiàn)實隊列模擬,統(tǒng)計每人的等待時間。要求:
1).隨機產(chǎn)生顧客的到達時間和服務(wù)時間存盤。2).利用存盤數(shù)據(jù)實現(xiàn)隊列的插入和刪除。2).當有顧客離開時,根據(jù)隊列長度調(diào)整隊尾。3).考慮顧客中途離隊的情況。4).考慮顧客具有優(yōu)先級的情況。
5、公交線路提示
任務(wù):建立南京主要公交線路圖。要求:輸入任意兩站點,給出最佳的乘車線路和轉(zhuǎn)車地點。
6、家譜管理系統(tǒng)
任務(wù):實現(xiàn)具有下列功能的家譜管理系統(tǒng) 功能要求:
1).輸入文件以存放最初家譜中各成員的信息,成員的信息中均應(yīng)包含以下內(nèi)容:姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。
2).實現(xiàn)數(shù)據(jù)的存盤和讀盤。3).以圖形方式顯示家譜。
4).顯示第n 代所有人的信息。
5).按照姓名查詢,輸出成員信息(包括其本人、父親、孩子的信息)。6).按照出生日期查詢成員名單。7).輸入兩人姓名,確定其關(guān)系。8).某成員添加孩子。
9).刪除某成員(若其還有后代,則一并刪除)。10).修改某成員信息。
11).按出生日期對家譜中所有人排序。
12).打開一家譜時,提示當天生日的健在成員。
要求:建立至少30個成員的數(shù)據(jù),以較為直觀的方式顯示結(jié)果,并提供文稿形式以便檢查。
界面要求:有合理的提示,每個功能可以設(shè)立菜單,根據(jù)提示,可以完成相關(guān)的功能要求。
1、全部合法數(shù)據(jù);
7、排序算法比較
設(shè)計要求:利用隨機函數(shù)產(chǎn)生10個樣本,每個樣本有50000隨機整數(shù),利用直接插入排序、折半插入排序,表插入排序,希爾排序,起泡排序、快速排序、選擇排序、堆排序,歸并排序,基數(shù)排序十種排序方法進行排序(結(jié)果為由小到大的順序),并統(tǒng)計每一種排序所耗費的平均時間(統(tǒng)計為圖表坐標形式)。
8、算術(shù)表達式求值 [問題描述]
一個算術(shù)表達式是由操作數(shù)(operand)、運算符(operator)和界限符(delimiter)組成的。假設(shè)操作數(shù)是正整數(shù),運算符只含加減乘除等四種運算符,界限符有左右括號和表達式起始、結(jié)束符“#”,如:#(7+15)*(23-28/4)#。引入表達式起始、結(jié)束符是為了方便。編程利用“算符優(yōu)先法”求算術(shù)表達式的值。[基本要求](1)從鍵盤讀入一個合法的算術(shù)表達式,輸出正確的結(jié)果。(2)顯示輸入序列和棧的變化過程。
9、電子小字典
基本要求:建立一個微型電子字典,實現(xiàn)生詞的加入,單詞的查找、刪除,修改等操作。
數(shù)據(jù)結(jié)構(gòu):鍵樹
10、校園導(dǎo)游程序
(2)查詢圖中任意兩個景點間的最短路徑。(3)查詢圖中任意兩個景點間的所有路徑。
(4)增加、刪除、更新有關(guān)景點和道路的信息。
11、稀疏矩陣相乘
任務(wù):以三元組形式存儲稀疏矩陣,實現(xiàn)矩陣相乘。
12、平衡二叉樹
任務(wù):平衡二叉樹的建立、結(jié)點的插入和刪除。
13、b-樹
任務(wù):3階b-樹的結(jié)點的插入和刪除。
14、hash表
任務(wù):以班級學(xué)生姓名(拼音)為關(guān)鍵字,建立hash涵數(shù),實現(xiàn)hash表存儲,用鏈地址方法解決沖突。
15、??(自選合適的題目)
成績評定細則:
1.正確性:程序是否可以運行,結(jié)果是否正確(20分)2.功能的完備性:是否實現(xiàn)要求的所有子功能(20分)
加分項目:
1.健壯性:異常處理的情況
3.功能的完善:除要求實現(xiàn)的功能外,完成了其它的功能,實現(xiàn)了功能的完善 4.界面的設(shè)計:可視化界面,或者交互良好的dos界面 5.……(自薦加分項目)
代碼量要求:=1000行。
代碼總量 = 課設(shè)題目1 代碼量 + 課設(shè)題目2 代碼量…… 若代碼總量低于1000行,則成績按比例打折。
編程語言:c或c++語言
編程環(huán)境:microsoft visual c++ 6.0
時間安排: 上機時間安排 課程設(shè)計報告上交時間 3 課程設(shè)計檢查時間
課程設(shè)計報告要求:
2.給出自己采用的數(shù)據(jù)結(jié)構(gòu); 3.給出算法設(shè)計思想;
4.給出實現(xiàn)的源程序,并在必要的代碼處給出注釋; 5.給出測試數(shù)據(jù)和結(jié)果;
6.給出算法的時間復(fù)雜度、另外可以提出算法的改進方法;
7.給出結(jié)束語:說明完成課程設(shè)計的情況,心得體會;課程設(shè)計報告的電子文檔在上機檢查程序時一并檢查;書面文檔在指定的時間內(nèi)上交。
數(shù)據(jù)結(jié)構(gòu)課程心得體會篇四
本章作為全書的導(dǎo)引,全面介紹了相關(guān)概念,如數(shù)據(jù)、數(shù)據(jù)元素、數(shù)據(jù)類型以及數(shù)據(jù)結(jié)構(gòu)的定義。其中,數(shù)據(jù)結(jié)構(gòu)包括邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)和運算集合。邏輯結(jié)構(gòu)分為四類:集合型、線性、樹形和圖形結(jié)構(gòu);數(shù)據(jù)元素的存儲結(jié)構(gòu)分為:順序存儲、鏈接存儲、索引存儲和散列存儲四類;最后介紹算法的時間性能分析以及算法的空間性能分析。
一、主要介紹順序表的定義,基本算法和時間性能的分析;
二、主要介紹一些簡單的查找算法和排序算法
本章主要介紹的是線性邏輯結(jié)構(gòu)的數(shù)據(jù)在鏈接存儲下的數(shù)據(jù)結(jié)構(gòu)鏈表的相關(guān)知識,本章主要介紹單鏈表、循環(huán)鏈表的數(shù)據(jù)類型的定義及一些對數(shù)據(jù)的操作的算法和時間性能的分析。以及鏈表的應(yīng)用主要有多項式相加,歸并問題、箱子排序問題等方面。
本章介紹了兩種不同的存儲結(jié)構(gòu)下設(shè)計的堆棧,即順序棧和鏈棧;分別對順序棧和鏈棧的數(shù)據(jù)類型定義和對數(shù)據(jù)的操作比若說取棧頂元素和元素入棧等算法。最后介紹了堆棧的應(yīng)用如:漢諾塔和火車車廂重排問題。
樹和森林的概念和性質(zhì)、數(shù)據(jù)結(jié)構(gòu)、樹的基本算法及性能分析,樹與二叉樹之間的轉(zhuǎn)換和森林與二叉樹之間的轉(zhuǎn)換及其相應(yīng)的算法。其次還有樹和森林的遍歷和樹的存儲結(jié)構(gòu),包括雙親表示法,孩子表示法,孩子兄弟表示法。
本章主要介紹圖的定義和基礎(chǔ)知識,圖的四種存儲結(jié)構(gòu),圖的基本算法以及圖的典型應(yīng)用問題如:最小生成樹,最短路徑,拓撲排序和關(guān)鍵路徑等。
1、建議在上課過程中加大隨堂練習的分量,以便學(xué)生能當堂消化課堂上學(xué)習的知識,也便于及時了解學(xué)生對知識點的掌握情況,同時有助于學(xué)生保持良好的精神狀態(tài)。
2、建議在課時允許的情況下,增加習題課的分量,通過課堂的習題講解,加深對知識點的掌握,同時對各知識點的運用有一個更為直觀和具體的認識。
數(shù)據(jù)結(jié)構(gòu)課程心得體會篇五
通過兩周的課程設(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)課程心得體會篇六
算法是為了問題服務(wù)的,我們在掌握了書本上的算法以后,要去找一些綜合性的題目來鍛煉自己,這些問題通常融合了不同的知識點,例如同時蘊含了排序,二叉樹,堆棧的相關(guān)知識,只有在解決問題的過程中,靈活運用所學(xué)知識,才能真正檢驗我們是否牢固掌握了書本上的內(nèi)容。教學(xué)建議: 其實李老師您是我大學(xué)以來第一個普通話如此標準的老師,所以我已經(jīng)十分慶幸了,而且我覺得您的講課思路嚴謹,只不過有的時候,您似乎刻意追求語句的嚴謹性,邏輯性,科學(xué)性,導(dǎo)致課堂上一句話往往說的很長,很繞,慢慢的都是專業(yè)名詞,有時候還稍有些舌頭打結(jié),這會讓我們的思緒無法連貫。比如有一次我在qq上問您希爾排序里面的gap這個點,您給我發(fā)了一段26秒的語音,然后我聽了好多遍理了好多次思緒才想明白,當然了這可能和我自己的理解能力較弱有關(guān)。我希望老師上課的時候能夠盡量把內(nèi)容說的再通俗易懂簡單粗暴一些。
數(shù)據(jù)結(jié)構(gòu)課程心得體會篇七
做了一個星期的程序設(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ù)據(jù)結(jié)構(gòu)是一門純屬于設(shè)計的科目,它需用把理論變?yōu)樯蠙C調(diào)試。在學(xué)習科目的第一節(jié)課起,魯老師就為我們闡述了它的重要性。它對我們來說具有一定的難度。它是其它編程語言的一門基本學(xué)科。很多同學(xué)都說,數(shù)據(jù)結(jié)構(gòu)不好學(xué),這我深有體會。剛開始學(xué)的時候確實有很多地方我很不理解,每次上課時老師都會給我們出不同的設(shè)計題目,對于我們一個初學(xué)者來說,無疑是一個具大的挑戰(zhàn)。
我記得有節(jié)課上遍歷二叉樹的內(nèi)容,先序遍歷、中序遍歷、后序遍歷。魯老師說:這節(jié)課的內(nèi)容很重要,不管你以前聽懂沒有,現(xiàn)在認真聽。說實在的,以前上的內(nèi)容確實沒大聽懂,不過聽了老師的話,我聽得很認真。先序遍歷很簡單,是三個遍歷中,最簡單的。而中序遍歷聽得有點模糊,后序遍歷也半懂半懂,我心想如果老師再講一遍,我肯定能聽懂。后來老師畫了一個二叉樹,抽了同學(xué)到黑板上去排序,這個二叉樹看似復(fù)雜,不過用先序遍歷來排,并不難。于是我在下面排好了先序,先序遍歷很簡單,我有點得意,老師到位置上點了我上去排中序,上去之后排得一塌糊涂。后來老師又講了一遍,我這才聽懂了,魯老師又安慰我們說,這個二叉樹有點難,中序和后序都不好排,要學(xué)懂的確要花點功夫才行。我聽了老師的話,認真做了筆記,回去再看了當天學(xué)的內(nèi)容。第二堂課,老師還是先講的先前的內(nèi)容,畫了一個簡單的二叉樹,讓我們排序,又叫同學(xué)上去分別排出來,老師又點了我的名,叫我起來辨別排中序那兩個同學(xué)的答案哪個排正確了,我毫不猶豫的答對了。因為這次的內(nèi)容,先序遍歷二叉樹、中序遍歷二叉樹、后序遍歷二叉樹,我的確真的懂了,第一次上這個課這么有成就感。漸漸的對這門課有了興趣。我以為永遠都聽不懂這個課,現(xiàn)在,我明白了,只要認真聽,肯下功夫,這個課也沒有什么難的。而數(shù)據(jù)結(jié)構(gòu)學(xué)習的難易程度很大程度上決定于個人的興趣,把一件事情當做任務(wù)去做會很痛苦,當做興趣去做會很快樂。也希望老師能看到我的改變,在此也感謝老師的辛勤教導(dǎo)。老師沒有放棄我,幾次點我的名上去,老師一定看得到我的進步。
后來,我每節(jié)課都認真聽課,老師雖然沒有點名,但我還是很認真的聽。雙親表示法孩子表示法和孩子兄弟表示法,這些內(nèi)容我都聽得很明白,差不多每節(jié)課都認真聽課。有時我也會在上課空余時間看看以前的內(nèi)容,所以,第一遍看課本的時候要將概念熟記于心,然后構(gòu)建知識框架。數(shù)據(jù)結(jié)構(gòu)包括線性結(jié)構(gòu)、樹形結(jié)構(gòu)、圖狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)。線性結(jié)構(gòu)包括線性表、棧、隊列、串、數(shù)組、廣義表等,棧和隊列是操作受限的線性表,串的數(shù)據(jù)對象約束為字符集,數(shù)組和廣義表是對線性表的擴展:表中的數(shù)據(jù)元素本身也是一個數(shù)據(jù)結(jié)構(gòu)。除了線性表以外,棧是重點,因為棧和遞歸緊密相連,遞歸是程序設(shè)計中很重要的一種工具。
其中我了解到:棧(stack)是只能在某一端插入和刪除的特殊線性表。它按照后進先出的原則存儲數(shù)據(jù),先進入的數(shù)據(jù)被壓入棧底,最后的數(shù)據(jù)在棧頂,需要讀數(shù)據(jù)的時候從棧頂開始彈出數(shù)據(jù);隊列一種特殊的線性表,它只允許在表的前端(front)進行刪除操作,而在表的后端(rear)進行插入操作。進行插入的操作端稱為隊尾,進行刪除的操作端稱為隊頭。隊列中沒有元素時,稱為空隊列;鏈表是一種物理存儲單元上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。鏈表由一系列結(jié)點組成,結(jié)點可以在運行時動態(tài)生成。每個結(jié)點包括兩個部分:一個是存儲數(shù)據(jù)元素的數(shù)據(jù)域,另一個是存儲下一個結(jié)點地址的指針域。
想著自己報考自考的專業(yè),也會考數(shù)據(jù)結(jié)構(gòu)這門,這學(xué)期就結(jié)束了,或多或少都收獲了一些知識。盡管學(xué)得還不是很透徹,我相信這對自己的自考會有很大的幫助,所以,即使是結(jié)束了這科的內(nèi)容,我也不會放棄去學(xué)習它。
數(shù)據(jù)結(jié)構(gòu)課程心得體會篇九
通過這次課程設(shè)計使我進一步達到理論與實際相結(jié)合,提高了自己組織數(shù)據(jù)及編寫程序的能力,使我們能夠根據(jù)問題要求和數(shù)據(jù)對象的特性,學(xué)會數(shù)據(jù)組織的方法,把現(xiàn)實世界中的實際問題在計算機內(nèi)部表示出來并用軟件解決問題,培養(yǎng)良好的程序設(shè)計技能,掌握設(shè)計程序的思路,學(xué)會用計算機語言編寫程序,以實現(xiàn)所需處理的任務(wù),鍛煉自己的動腦能力,學(xué)會用自己的思路解決現(xiàn)實中的實際問題,雖然一開始也走了一些彎路不過在同學(xué)和老師的'點撥下完成了該程序,這次課程設(shè)計中遇到了很多問題,一開始準備用二維數(shù)組存放的可考慮到同一個學(xué)校同一個項目有好幾個人參加,就不能用二維數(shù)組了,如果每個學(xué)校都申請一個二維數(shù)組也非常不方便,還是用順序表方便也不浪費空間,在這次課程設(shè)計的過程中雖然很多次都參照了課本及資料,不過這使我更加熟悉了順序表以及結(jié)構(gòu)體的定義及實現(xiàn),調(diào)試過程中也遇到了一些問題也都是自己獨立思考完成的,還有一個體會是,遇到不會的地方可以參考課本也可以去圖書館或網(wǎng)上查資料,當然主要思路有了也就簡單點了。在老師的答辯指指導(dǎo)下,程序數(shù)組那塊程序的書寫老師問我為什么是那樣的,當時寫這塊程序的時候是看書上數(shù)組那塊程序再加上自己的主觀想法覺得就是這樣寫的,雖然這塊程序當時那種主觀想法是寫對了,但是經(jīng)過老師的答辯提問才知道雖然是寫對了,但是這種思考和想法是錯誤不科學(xué)的,真正的是因為第2次循環(huán)是因為第一次釋放了一個。所以通過這次課程設(shè)計讓我懂得了一個很重要的道理,就是以后如果哪地方有一點迷惑,有一點不懂的地方不能憑自己主觀的思考和想法覺得應(yīng)該是這樣的,一定要找老師問清楚為什么是這樣的,一定要把每步每個小程序都要搞的十分的清楚,這真是個很好的收獲。還有就是這個程序的男女問題上,開始準備在結(jié)構(gòu)體中加一個sex的點,大使那樣對與男女項目還是有點麻煩,后來在同學(xué)的提醒下,通過參賽項目號就可以解決了,比m大就是女子項目,比m小或者等于m就是男子項目。這樣就可以很完美地解決這個問題了。
其實,當你實驗遇到問題時,自己會通過很多途徑去解決它,沒有解決時,心急如焚,解決之后的那種快感是前所未有的,這也許就是付出了行動之后的收獲吧!
這也教會了我們以后在社會上,遇見了事情不可怕,只要不被困難擊倒,解決了它,那樣我們就是勝利的!
xxx