數據結構培訓心得體會
在不斷發展的社會中,當我們對人生或者事物有了新的感悟時,寫心得體會是不錯的選擇,這樣既可以鞏固所學,還方便今后回顧。下面是小編整理的數據結構培訓心得體會,僅供參考,希望對你有所幫助。
數據結構培訓心得體會【篇1】
數據結構是計算機存儲、組織數據的方式,數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索算法和索引技術有關。
一般認為,一個數據結構是由數據元素依據某種邏輯聯系組織起來的。對數據元素間邏輯關系的描述稱為數據的邏輯結構;數據必須在計算機中存儲,數據的存儲結構是數據結構的實現形式,是其在計算機內的表示;此外討論一個數據結構必須同時討論在該類數據結構上執行的運算才有意義。一個邏輯數據結構可以有多種存儲結構,且各種存儲結構影響數據處理的效率。
在許多類型的.程序的設計中,數據結構的選擇是一個基本的設計考慮因素。許多大型系統的構造經驗表明,系統實現的困難程度和系統構造的質量都嚴重的依賴于是否選擇了最優的數據結構。許多時候,確定了數據結構后,算法就容易得到了。有些時候事情也會反過來,我們根據特定的算法來選擇數據結構與之適應。不論哪種情況,選擇合適的數據結構都是非常重要的。
從上面我們了解到了數據結構的重要性,它是一個程序的關鍵因素。拿到“陰風習習的大樓”這個題目時,一開始不知道從哪入手,以為可以把每個位置看成一個圖的一個節點,從而可以用鄰接表這種結構,通過遍歷鄰接表,每次選擇權值小的路徑走就可以得到最短的路徑了,
我錯了,完全的錯了。通過認真的分析后,我認識到,這能簡單的看成一個圖,因為每個位置都只能到達它鄰接的位置而不是和其他各位置都有聯系。而且如果每個位置轉化為圖的一個節點,這樣要表示每個節點的關系就需要n__n節點和n^4大小的數組來存儲各個點的關系。還有這個大樓結構想轉化為一個圖也是不容易的。根據書上有些類似的“老鼠迷宮問題”,讓我想打,不如就用n__n大小的數組直接存儲大樓結構。通過類似走迷宮的方法來遍歷,當遍歷完所有路徑后就能得到一個最小的路徑。那接下來怎樣遍歷呢?我采用了深度優先遍歷的方法,這樣可以用遞歸的方法,簡化代碼。雖然理解上有一定困難,而且遞歸條件的控制要注意。
通過這次數據結構程序設計,不僅讓我對c語言的一些知識得到了回顧,加深了對c語言的掌握。同時也讓我對數據結構知識得到了一定的掌握。知道了怎么去分析一個題目,怎樣選擇比較好的數據結構。讓我從怎么樣實現一個程序功能,轉變到怎么用更少的空間,更短的時間完成程序設計。空間和時間上對程序的優化是評價一個程序好壞的關鍵標準。
通過這次數據結構的程序設計也讓我懂得了怎么樣去設計一個程序。從問題分析中找出程序所要解決的關鍵問題和數據結構的選擇;在概要設計中完成程序的大體輪廓;在詳細設計中解決關鍵問題的算法和設計;在調試分析中完成程序最終的修補。這樣一個比較好的程序就設計出來了。
數據結構培訓心得體會【篇2】
數據結構是計算機程序設計的重要理論技術基礎,它不僅是計算機科學的核心課程,而且也已經成為其他理工專業的熱門選修課。隨著高級語言的發展,數據結構在計算機的研究和應用中已展現出強大的生命力,它兼顧了諸多高級語言的特點,是一種典型的結構化程序設計語言,它處理能力強,使用靈活方便,應用面廣,具有良好的可移植性。
緊張的兩周數據結構實訓很快就過去了,通過這兩周的實踐學習,不僅使我們鞏固了以前的知識并在此基礎上還對數據結構的特點和算法有了更深的了解,使我們在這門課程的實際應用上也有了一個提高。
首先這兩周的學習,使我們在鞏固了原有的理論知識上,又培養了靈活運用和組成所學過知識及技能來分析、解決實際問題的能力,使我們體會到自身知識和能力在實際中的應用和發揮。
其次,它激發了我們創新意識,開發創造的能力和培養溝通能力。另外,讓我們進一步熟悉了數據結構的設計應用。每一處編碼都是在反復的熟悉數據結構的結構特性,及其語法、函數和程序設計思想的過程,對我們數據結構的學習和提高很有益處,并且使我們明白了程序設計過程,如解決一些實際問題,從解決實際問題的角度,我們可以這樣來看:
第一要了解這個問題的基本要求,即輸入、輸出、完成從輸入到輸出的要求是什么;
第二,從問題的要害入手,從前到后的解決問題的每個方面,即從輸入開始入手,著重考慮如何從輸入導出輸出,在這個過程中,可確定所需的數據結構的基本類型——線性表、棧、隊列、串、數組、廣義表、樹和二叉樹以及圖等,然后確定處理過程——算法,通過在編譯環境中的編譯與調試,可到最終的程序。最后,在這次的實訓過程中,我們深刻的認識到了自己在學習方面的不足之處,我知道我還有太多的基本的思想沒有真正的理解,當然我們不會灰心,我們會在以后的日子里努力彌補我們的不足。
在兩周的實訓中,我們也體會到了團隊合作的重要性,從最初的查閱資料到最后的程序的成功運行,我們組有過山窮水盡的困惑;有過柳暗花明的驚喜;有過唇槍舌劍的辯論;有過相互鼓勵的安慰。兩個禮拜的時間我們經歷了很多,也收獲了很多。與其說這次的實訓是體力與腦力的作業,不如說它是合作精神和毅力的考驗。經過這次課程設計,我們不僅學到了很多知識和技能,更重要的是我們學會了如何運用所學知識去解決實際問題。
總之,兩個禮拜的課程設計讓我們受益匪淺。我們深深認識到,要學好一門學科,沒有刻苦鉆研的精神是不行的,只有在不斷的嘗試中,經歷失敗,從失敗中總結經驗,然后再不斷的嘗試,才能獲得成功。
數據結構培訓心得體會【篇3】
通過這次課程設計使我進一步達到理論與實際相結合,提高了自己組織數據及編寫程序的能力,使我們能夠根據問題要求和數據對象的特性,學會數據組織的方法,把現實世界中的實際問題在計算機內部表示出來并用軟件解決問題,培養良好的程序設計技能,掌握設計程序的思路,學會用計算機語言編寫程序,以實現所需處理的任務,鍛煉自己的動腦能力,學會用自己的思路解決現實中的實際問題,雖然一開始也走了一些彎路不過在同學和老師的點撥下完成了該程序,這次課程設計中遇到了很多問題,一開始準備用二維數組存放的可考慮到同一個學校同一個項目有好幾個人參加,就不能用二維數組了,如果每個學校都申請一個二維數組也非常不方便,還是用順序表方便也不浪費空間,在這次課程設計的過程中雖然很多次都參照了課本及資料,不過這使我更加熟悉了順序表以及結構體的定義及實現,調試過程中也遇到了一些問題也都是自己獨立思考完成的,還有一個體會是,遇到不會的地方可以參考課本也可以去圖書館或網上查資料,當然主要思路有了也就簡單點了。
在老師的答辯指指導下,程序數組那塊程序的書寫老師問我為什么是那樣的,當時寫這塊程序的時候是看書上數組那塊程序再加上自己的主觀想法覺得就是這樣寫的,雖然這塊程序當時那種主觀想法是寫對了,但是經過老師的答辯提問才知道雖然是寫對了,但是這種思考和想法是錯誤不科學的,真正的是因為第2次循環是因為第一次釋放了一個。所以通過這次課程設計讓我懂得了一個很重要的道理,就是以后如果哪地方有一點迷惑,有一點不懂的地方不能憑自己主觀的思考和想法覺得應該是這樣的,一定要找老師問清楚為什么是這樣的,一定要把每步每個小程序都要搞的十分的清楚,這真是個很好的收獲。還有就是這個程序的男女問題上,開始準備在結構體中加一個sex的點,大使那樣對與男女項目還是有點麻煩,后來在同學的提醒下,通過參賽項目號就可以解決了,比m大就是女子項目,比m小或者等于m就是男子項目。這樣就可以很完美地解決這個問題了。
其實,當你實驗遇到問題時,自己會通過很多途徑去解決它,沒有解決時,心急如焚,解決之后的那種快感是前所未有的,這也許就是付出了行動之后的收獲吧!
這也教會了我們以后在社會上,遇見了事情不可怕,只要不被困難擊倒,解決了它,那樣我們就是勝利的!
數據結構培訓心得體會【篇4】
做了一個星期的程序設計終于做完了,在這次程序設計課中,真是讓我獲益匪淺,我突然發現寫程序還挺有意思的。
由于上學期的C語言跟這學期的數據結構都算不上真正的懂,對于書上的稍微難點的知識就是是而非的,所以我只是對老師的程序理解,我也試著去改變了一些變量,自己也盡量多的去理解老師做程序的思路。當我第一天坐在那里的時候,我就不知道該做些什么,后來我只有下來自己看了一遍書來熟悉下以前學過的知識。
通過這次的程序設計,發現一個程序設計就是算法與數據結構的結合體,自己也開始對程序產生了前所未有的興趣,以前偷工減料的學習也不可能一下子寫出一個程序出來,于是我就認真看老師寫的程序,發現我們看懂了一個程序其實不難,難的是對于一個程序的思想的理解,我們要掌握一個算法,不僅僅限于讀懂,主要的是要理解老師的思路,學習老師的解決問題的方法。
這次試驗中,我發現書本上的知識是一個基礎,但是我基礎都沒掌握,更別說寫出一個整整的程序了。自己在寫程序的時候,也發現自己的知識太少了,特別是基礎知識很多都是模模糊糊的一個概念,沒有落實到真正的程序,所以自己寫的時候也感到萬分痛苦,基本上涉及一個知識我就會去看看書,對于書本上的知識沒掌握好。在飯后閑暇時間我也總結了一下,自己以前上課也認真的聽了,但是還是寫不出來,這主要歸結于自己的練習太少了,而且也總是半懂就不管了。在改寫老師的程序中也出現了很多的問題,不斷的修改就是不斷的學習過程,當我們全身心的投入其中時,實際上是一件很有樂趣的事情。
對于以后的學習有了幾點總結:
第一、熟記各種數據結構類型,定義、特點、基本運算(分開點一點也沒多少東西,難度不大,但是基本);
第二、各種常用的排序算法,如冒泡排序、堆排序……這些是必考的內容,分數不會少于20%;
第三,多做習題,看題型,針對題型來有選擇復習;
數據結構看上去很復雜,但你靜下心來把書掃上幾遍,分解各個知識點,這一下來,學數據結構的思路就會很清晰了。
數據結構培訓心得體會【篇5】
本次課程設計所用到的知識完全是上學期的知識,通過這次課程設計,我認識到了我對數據結構這門課的掌握程度。
首先我這個課程設計是關于二叉樹的,由于是剛接觸二叉樹,所以我掌握的長度并不深。在編程之前我把有關于二叉樹的知識有溫習了一遍,還好并沒有忘掉。二叉樹這章節難度中上等,而且內容廣泛,所以我只掌握了百分之六七十。
然后,在編程中我認識到了自己動手能力的不足,雖然相比較大二而言進步很大,但是我還是不滿意,有的在編程中必須看書才能寫出來,有的靠百度,很少是自己寫的。還好,我自己組裝程序的能力還行,要不這東拼西湊的程序根本組裝不了。在編程中我還認識到了,編程不能停下,如果編程的'時間少了,知識忘的會很快,而且動手也會很慢。同時,同學之間的合作也很重要,每個人掌握的知識都不一樣,而且掌握程度也不一樣,你不會的別的同學會,所以在大家的共同努力下,編程會變得很容易。在這次編程中,我了解到了自己某些方面的不足,比如說鏈表的知識,雖然我能做一些有關于鏈表的編程,但是很慢,沒有別人編程的快,另外,二叉樹和圖的知識最不好掌握,這方面的知識廣泛而復雜。以前,沒動手編程的時候覺得這些知識很容易,現在編程了才發現自己錯了,大錯特錯了,我們這個專業最重視的就是動手編程能力,如果我們紙上寫作能力很強而動手編程能力很差,那我們就白上這個專業了。計算機這個專業就是鍛煉動手編程能力的,一個人的理論知識再好,沒有動手編程能力,那他只是一個計算機專業的“入門者”。在編程中我們能找到滿足,如果我們自己編程了一個程序,我們會感到自豪,而且充實,因為如果我們專研一個難得程序,我們會達到忘我的境界,自己完全沉浸在編程的那種樂趣之中,完全會廢寢忘食。編程雖然會乏味很無聊,但是只要我們沉浸其中,你就會發現里面的樂趣,遇到難得,你會勇往直前,不寫出來永不罷休;遇到容易的,你會找到樂趣。編程是很乏味,但是那是因為你沒找到編程重的樂趣,你只看到了他的不好,而沒有看到他的好。其實,只要你找到編程中得樂趣,你就會完全喜歡上他,不編程還好,一編程你就會變成一個兩耳不聞窗外事的“植物人”。可以說只要你涉及到了計算機,你就的會編程,而且還要喜歡上他,永遠和他打交道,我相信在某一天,我們一定會把他當作我們不可或缺的好朋友。
最后我要談的是長時間編程的好處,俗話說“熟能生巧”,確實是這樣。如果我們長時間不編程,在一接觸他,我們會感到很陌生。有規律的編程會提高我們的動手能力,我們的思維,也會讓我們變得很細心。在一個幾千行的程序中,我們都能找到錯誤,那我們還會怕其他的錯誤嗎?可以說編程是我們在我們這一行業的一把利劍,如果我們能很好的利用它,我們就會成為這個行業的真正成功者。也許你會說就算變成好了也不一定成功,是的,但是你不會編程就一定不會成功。如果,我們想成為這個專業的成功者,我們就得愛上編程,不管他是怎么得乏味,怎么得無聊,我們都不能丟掉他。
總之,動手編程就是鍛煉我們的動手能力,當然這個動手能力并不是科研上的動手能力,而是我們的動手編程能力,記住,只要你真正的喜歡上他,你就會發現其中的樂趣,我相信,只要你堅持下去,你一定會喜歡上他,把編程當作自己日常生活中一件必須做的事情。