首頁 > 語言集 > 範文 > 心得體會 > 資料結構心得體會

資料結構心得體會

   來源:古今學識館    閱讀: 2.17W 次
字號:

用手機掃描二維碼 在手機上繼續觀看

手機檢視

當我們經過反思,對生活有了新的看法時,寫一篇心得體會,記錄下來,它可以幫助我們瞭解自己的這段時間的學習、工作生活狀態。你想好怎麼寫心得體會了嗎?以下是小編整理的資料結構心得體會,希望對大家有所幫助。

資料結構心得體會

資料結構心得體會1

通過這次課程設計使我進一步達到理論與實際相結合,提高了自己組織資料及編寫程式的能力,使我們能夠根據問題要求和資料物件的特性,學會資料組織的方法,把現實世界中的實際問題在計算機內部表示出來並用軟體解決問題,培養良好的程式設計技能,掌握設計程式的思路,學會用計算機語言編寫程式,以實現所需處理的任務,鍛鍊自己的動腦能力,學會用自己的思路解決現實中的實際問題,雖然一開始也走了一些彎路不過在同學和老師的點撥下完成了該程式,這次課程設計中遇到了很多問題,一開始準備用二維陣列存放的可考慮到同一個學校同一個專案有好幾個人蔘加,就不能用二維陣列了,如果每個學校都申請一個二維陣列也非常不方便,還是用順序表方便也不浪費空間,在這次課程設計的過程中雖然很多次都參照了課本及資料,不過這使我更加熟悉了順序表以及結構體的定義及實現,除錯過程中也遇到了一些問題也都是自己獨立思考完成的,還有一個體會是,遇到不會的地方可以參考課本也可以去圖書館或網上查資料,當然主要思路有了也就簡單點了。在老師的答辯指指導下,程式陣列那塊程式的書寫老師問我為什麼是那樣的,當時寫這塊程式的時候是看書上陣列那塊程式再加上自己的主觀想法覺得就是這樣寫的,雖然這塊程式當時那種主觀想法是寫對了,但是經過老師的答辯提問才知道雖然是寫對了,但是這種思考和想法是錯誤不科學的,真正的是因為第2次迴圈是因為第一次釋放了一個。所以通過這次課程設計讓我懂得了一個很重要的道理,就是以後如果哪地方有一點迷惑,有一點不懂的地方不能憑自己主觀的思考和想法覺得應該是這樣的,一定要找老師問清楚為什麼是這樣的,一定要把每步每個小程式都要搞的十分的清楚,這真是個很好的收穫。還有就是這個程式的男女問題上,開始準備在結構體中加一個sex的點,大使那樣對與男女專案還是有點麻煩,後來在同學的提醒下,通過參賽專案號就可以解決了,比m大就是女子專案,比m小或者等於m就是男子專案。這樣就可以很完美地解決這個問題了。

其實,當你實驗遇到問題時,自己會通過很多途徑去解決它,沒有解決時,心急如焚,解決之後的那種快感是前所未有的,這也許就是付出了行動之後的收穫吧!

這也教會了我們以後在社會上,遇見了事情不可怕,只要不被困難擊倒,解決了它,那樣我們就是勝利的!

  xxx

資料結構心得體會2

本學期開設的《資料結構基礎》課程已經告一段落,現就學習體會進行學習總結。

這是一門純屬於設計的科目,它需用把理論變為上機除錯。剛開始學的時候確實有很多地方我很不理解,每次上課時老師都會給我們出不同的設計題目,對於我們一個初學者來說,無疑是一個具大的挑戰,撞了幾次壁之後,我決定靜下心來,仔細去寫程式。老師會給我們需要程式設計的內容一些講解,順著老師的思路,來完成自己的設計,我們可以開始執行自己的程式。

這門課結束之後,我總結了學習中遇到的一些問題,最為突出的,書本上的知識與老師的講解都比較容易理解,但是當自己採用剛學的知識點編寫程式時卻感到十分棘手,有時表現在想不到適合題意的演算法,有時表現在演算法想出來後,只能將書本上原有的程式段謄寫到自己的程式中再加以必要的連線以完成程式的編寫。剛開始學的時候確實有很多地方我很不理解,每次上上機課時老師都會給我們出不同的設計題目,對於我們一個初學者來說,無疑是一個具大的挑戰,撞了幾次壁之後,我決定靜下心來,仔細去寫程式。老師會給我們需要程式設計的內容一些講解,順著老師的思路,來完成自己的設計,我們可以開始執行自己的程式,可是好多處的錯誤讓人看的可怕,還看不出到底是哪裡出現了錯誤,但是程式還是得繼續下去,我多次請教了老師和同學,逐漸能自己找出錯誤,並加以改正。TC裡檢查錯誤都是用英文來顯示出來的,經過了這次課程設計,現在已經可以瞭解很多錯誤在英文裡的提示,這對我來說是一個突破性的進步,眼看著一個個錯誤通過自己的努力在我眼前消失,覺得很是開心。此次的程式設計能夠成功,是我和我的同學三個人共同努力作用的結果。在這一段努力學習的過程中,我們的程式設計設計有了明顯的提高。

其實現在想起來,收穫還真是不少,雖然說以前非常不懂這門語言,在它上面花費了好多心血,覺得它很難,是需用花費了大量的時間編寫出來的。現在真正的明白了一些程式碼的應用,每個程式都有一些共同點,通用的結構,相似的格式。只要努力去學習,就會靈活的去應用它。

以上便是我對《資料結構基礎》這門課的學習總結,我會抓緊時間將沒有吃透的知識點補齊,克服學習中遇到的難關,在打牢基礎的前提下向更深入的層面邁進!

資料結構心得體會3

做了一個星期的程式設計終於做完了,在這次程式設計課中,真是讓我獲益匪淺,我突然發現寫程式還挺有意思的。

由於上學期的C語言跟這學期的資料結構都算不上真正的懂,對於書上的稍微難點的知識就是是而非的,所以我只是對老師的程式理解,我也試著去改變了一些變數,自己也儘量多的去理解老師做程式的思路。當我第一天坐在那裡的時候,我就不知道該做些什麼,後來我只有下來自己看了一遍書來熟悉下以前學過的知識。

通過這次的程式設計,發現一個程式設計就是演算法與資料結構的結合體,自己也開始對程式產生了前所未有的興趣,以前偷工減料的學習也不可能一下子寫出一個程式出來,於是我就認真看老師寫的程式,發現我們看懂了一個程式其實不難,難的是對於一個程式的思想的理解,我們要掌握一個演算法,不僅僅限於讀懂,主要的是要理解老師的思路,學習老師的解決問題的方法。

這次試驗中,我發現書本上的知識是一個基礎,但是我基礎都沒掌握,更別說寫出一個整整的程式了。自己在寫程式的時候,也發現自己的知識太少了,特別是基礎知識很多都是模模糊糊的一個概念,沒有落實到真正的程式,所以自己寫的時候也感到萬分痛苦,基本上涉及一個知識我就會去看看書,對於書本上的知識沒掌握好。在飯後閒暇時間我也總結了一下,自己以前上課也認真的聽了,但是還是寫不出來,這主要歸結於自己的練習太少了,而且也總是半懂就不管了。在改寫老師的程式中也出現了很多的問題,不斷的修改就是不斷的學習過程,當我們全身心的投入其中時,實際上是一件很有樂趣的事情。對於以後的學習有了幾點總結:第一、熟記各種資料結構型別,定義、特點、基本運算(分開點一點也沒多少東西,難度不大,但是基本);第二、各種常用的排序演算法,如氣泡排序、堆排序……,這些是必考的內容,分數不會少於20%;第三,多做習題,看題型,針對題型來有選擇複習;資料結構看上去很複雜,但你靜下心來把書掃上幾遍,分解各個知識點,這一下來,學資料結構的思路就會很清晰了。

資料結構心得體會4

資料結構是一門純屬於設計的科目,它需用把理論變為上機除錯。在學習科目的第一節課起,魯老師就為我們闡述了它的重要性。它對我們來說具有一定的難度。它是其它程式語言的一門基本學科。很多同學都說,資料結構不好學,這我深有體會。剛開始學的時候確實有很多地方我很不理解,每次上課時老師都會給我們出不同的設計題目,對於我們一個初學者來說,無疑是一個具大的挑戰。

我記得有節課上遍歷二元樹的內容,先序遍歷、中序遍歷、後序遍歷。魯老師說:這節課的內容很重要,不管你以前聽懂沒有,現在認真聽。說實在的,以前上的內容確實沒大聽懂,不過聽了老師的話,我聽得很認真。先序遍歷很簡單,是三個遍歷中,最簡單的。而中序遍歷聽得有點模糊,後序遍歷也半懂半懂,我心想如果老師再講一遍,我肯定能聽懂。後來老師畫了一個二元樹,抽了同學到黑板上去排序,這個二元樹看似複雜,不過用先序遍歷來排,並不難。於是我在下面排好了先序,先序遍歷很簡單,我有點得意,老師到位置上點了我上去排中序,上去之後排得一塌糊塗。後來老師又講了一遍,我這才聽懂了,魯老師又安慰我們說,這個二元樹有點難,中序和後序都不好排,要學懂的確要花點功夫才行。我聽了老師的話,認真做了筆記,回去再看了當天學的內容。第二堂課,老師還是先講的先前的內容,畫了一個簡單的二元樹,讓我們排序,又叫同學上去分別排出來,老師又點了我的名,叫我起來辨別排中序那兩個同學的答案哪個排正確了,我毫不猶豫的答對了。因為這次的內容,先序遍歷二叉

樹、中序遍歷二元樹、後序遍歷二元樹,我的確真的懂了,第一次上這個課這麼有成就感。漸漸的對這門課有了興趣。我以為永遠都聽不懂這個課,現在,我明白了,只要認真聽,肯下功夫,這個課也沒有什麼難的。而資料結構學習的難易程度很大程度上決定於個人的興趣,把一件事情當做任務去做會很痛苦,當做興趣去做會很快樂。也希望老師能看到我的改變,在此也感謝老師的辛勤教導。老師沒有放棄我,幾次點我的名上去,老師一定看得到我的進步。

後來,我每節課都認真聽課,老師雖然沒有點名,但我還是很認真的聽。雙親表示法孩子表示法和孩子兄弟表示法,這些內容我都聽得很明白,差不多每節課都認真聽課。有時我也會在上課空餘時間看看以前的內容,所以,第一遍看課本的時候要將概念熟記於心,然後構建知識框架。資料結構包括線性結構、樹形結構、圖狀結構或網狀結構。線性結構包括線性表、棧、佇列、串、陣列、廣義表等,棧和佇列是操作受限的線性表,串的資料物件約束為字符集,陣列和廣義表是對線性表的擴充套件:表中的資料元素本身也是一個資料結構。除了線性表以外,棧是重點,因為棧和遞迴緊密相連,遞迴是程式設計中很重要的一種工具。

其中我瞭解到:棧(Stack)是隻能在某一端插入和刪除的特殊線性表。它按照後進先出的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料;

佇列一種特殊的線性表,它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入的操作端稱為

隊尾,進行刪除的操作端稱為隊頭。佇列中沒有元素時,稱為空佇列;連結串列是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過連結串列中的指標連結次序實現的。連結串列由一系列結點組成,結點可以在執行時動態生成。每個結點包括兩個部分:一個是儲存資料元素的資料域,另一個是儲存下一個結點地址的指標域。

想著自己報考自考的專業,也會考資料結構這門,這學期就結束了,或多或少都收穫了一些知識。儘管學得還不是很透徹,我相信這對自己的自考會有很大的幫助,所以,即使是結束了這科的內容,我也不會放棄去學習它。

資料結構心得體會5

通過本次課程設計,對圖的概念有了一個新的認識,在學習離散數學的時候,總覺得圖是很抽象的東西,但是在學習了《資料結構與演算法》這門課程之後,我慢慢地體會到了其中的奧妙,圖能夠在計算機中存在,首先要捕捉他有哪些具體化、數字化的資訊,比如說權值、頂點個數等,這也就說明了想要把生活中的資訊轉化到計算機中必須用數字來完整的構成一個資訊庫,而圖的存在,又涉及到了頂點之間的聯絡。圖分為有向圖和無向圖,而無向圖又是有向圖在權值雙向相等下的一種特例,如何能在計算機中表示一個雙向權值不同的圖,這就是一件很巧妙的事情,經過了思考和老師同學的幫助,我用edges[i][j]=up和edges[j][i]=up就能實現了一個雙向圖資訊的儲存。

對整個程式而言,Dijkstra演算法始終都是核心內容,其實這個演算法在實際思考中並不難,也許我們誰都知道找一個路徑最短的方法,及從頂點一步一步找最近的路線並與其直接距離相比較,但是,在計算機中實現這麼一個很簡單的想法就需要涉及到很多專業知識,為了完成設計,在前期工作中,基本都是以學習C語言為主,所以浪費了很多時間,比如說在程式中,刪除頂點和增加頂點的模組中都有和建圖模組相互重複的函式,但是由於技術的原因,只能做一些很累贅的函式,可見在呼叫知識點,我沒有掌握好。不過,有了這次課程設計的經驗和教訓,我能夠很清楚的對自己定一個合適的水平,而且在這次課程設計中我學會了運用兩個新的函式sprintf()和包涵在#include標頭檔案中的輸入函式。因為課程設計的題目是求最短路徑,本來是想通過演算法的實現把這個程式與交通情況相連,但是因為來不及查詢各地的資訊,所以,這個計劃就沒有實現,我相信在以後有更長時間的情況下,我會做出來的。

1、鞏固和加深了對資料結構的理解,提高綜合運用本課程所學知識的能力。

2、培養了我選用參考書,查閱手冊及文獻資料的能力。培養獨立思考,深入研究,分析問題、解決問題的能力。

3、通過實際編譯系統的分析設計、程式設計除錯,掌握應用軟體的分析方法和工程設計方法。

4、通過課程設計,培養了我嚴肅認真的工作作風,逐步建立正確的生產觀念、經濟觀念和全域性觀念。

根據我在實習中遇到得問題,我將在以後的學習過程中注意以下幾點:

1、認真上好專業實驗課,多在實踐中鍛鍊自己。

2、寫程式的過程中要考慮周到,嚴密。

3、在做設計的時候要有信心,有耐心,切勿浮躁。

4、認真的學習課本知識,掌握課本中的知識點,並在此基礎上學會靈活運用。

5、在課餘時間裡多寫程式,熟練掌握在除錯程式的過程中所遇到的常見錯誤,以便能節省除錯程式的時間。

這是一門純屬於設計的科目,它需用把理論變為上機除錯。在學習科目的第一節課起,李老師就為我們闡述了它的重要性。它對我們來說具有一定的難度。它是其它程式語言的一門基本學科。

剛開始學的時候確實有很多地方我很不理解,每次上課時老師都會給我們出不同的設計題目,對於我們一個初學者來說,無疑是一個具大的挑戰,撞了幾次壁之後,我決定靜下心來,仔細去寫程式。老師會給我們需要程式設計的內容一些講解,順著老師的思路,來完成自己的設計,我們可以開始執行自己的程式,可是好多處的錯誤讓人看的可怕,還看不出到底是哪裡出現了錯誤,但是程式還是得繼續下去,我多次請教了老師和同學,逐漸能自己找出錯誤,並加以改正。TC裡檢查錯誤都是用英文來顯示出來的,經過了這次課程設計,現在已經可以瞭解很多錯誤在英文裡的提示,這對我來說是一個突破性的進步,眼看著一個個錯誤通過自己的努力在我眼前消失,覺得很是開心。此次的程式設計能夠成功,是我和我的同學三個人共同努力作用的結果。在這一段努力學習的過程中,我們的程式設計設計有了明顯的提高。

其實現在想起來,收穫還真是不少,雖然說以前非常不懂這門語言,在它上面花費了好多心血,覺得它很難,是需用花費了大量的時間編寫出來的。現在真正的明白了一些程式碼的應用,每個程式都有一些共同點,通用的結構,相似的格式。只要努力去學習,就會靈活的去應用它。

資料結構心得體會6

通過兩週的課程設計,完成了預定的目標,其中有很多的隨想。老師的題目發下來的很早,大概提前了3周,當時就著手搜尋有關線索二元樹的思想,思路,借了一本《資料結構-c語言描述》,在大體上就有了一個輪廓,先是輸入二元樹,在對二元樹進行線索化,依次往下,但在具體實現時,遇到了很多問題:首先是思想的確定,其非常重要,以前有了這個想法,現在愈加清晰起來,因此,花了大量的時間在插入刪除的具體操作設計上,大概三個晚上的時間,對其中什麼不清晰明確之處均加以推敲,效果是顯著的,在上機上相應的節約了時間。

通過具體的實驗編碼,思路是對的,但是在小問題上摔了一次又一次,大部分時間都是花在這方面,這個節點沒傳過來啊之類的,以後應該搞一個小冊子,記錄一些錯誤的集合,以避免再犯,思想與C語言聯絡起來,才是我們所需要的,即常說的理論與實踐的關係。

資料結構是基礎的一門課,對於有過程式設計經驗的人,結合自己的程式設計體會去悟它的思想;而且我覺得隨著程式設計經歷的豐富對它的體會越深入,最初接觸是對一些思想可能只是生硬的記憶,隨著學習的深入逐漸領悟了很多。看了這次課程設計的題目,雖然具體要求沒有看清,但是總結一下,可以看出,其需要我們能把一個具體案例或一件事情反映為程式來表達,資料結構就是橋樑,通過自己的設計,使應用能力得以融匯,對與問題,具有了初步的分析,繼而解決之的能力,感覺對以後的學習會有很大的幫助,學習無非是用於實踐。

認識到自己的不足,希望能有進一步的發展。

資料結構心得體會7

完成了這次的二元多項式加減運算問題的課程設計後,我的心得體會很多,細細梳理一下,有以下幾點:

1、程式的編寫中的語法錯誤及修改

因為我在解決二元多項式問題中,使用了連結串列的方式建立的二元多項式,所以程式的空間是動態的生成的,而且連結串列可以靈活地新增或刪除結點,所以使得程式得到簡化。但是出現的語法問題主要在於子函式和變數的定義,降序排序,關鍵字和函式名稱的書寫,以及一些庫函式的規範使用,這些問題均可以根據編譯器的警告提示,對應的將其解決。

2、程式的設計中的邏輯問題及其調整

我在設計程式的過程中遇到許多問題,首先在選擇資料結構的時候選擇了連結串列,但是連結串列的排序比較困難,特別是在多關鍵字的情況下,在一種關鍵字確定了順序以後,在第一關鍵字相同的時候,按某種順序對第二關鍵字進行排序。在此程式中共涉及到3個量數,即:係數,x的指數和y的指數,而關鍵字排是按x的指數和y的指數來看,由於要求是降冪排序且含有2個關鍵字,所以我先選擇x的指數作為第一關鍵字,先按x的降序來排序,當x的指數相同時,再以y為關鍵字,按照y的指數大小來進行降序排列。

另外,我在加法函式的編寫過程中也遇到了大量的問題,由於要同時比較多個關鍵字,而且設計中涉及了陣列和連結串列的綜合運用,導致反覆修改了很長的時間才完成了一個加法的設計。但是,現在仍然有一個問題存在:若以0為係數的項是首項則顯示含有此項,但是運算後則自動消除此項,這樣是正確的。但是當其不是首項的時候,加法函式在顯示的時候有0為係數的項時,0前邊不顯示符號,當然,這樣也可以理解成當係數為0時,忽略這一項。這也是本程式中一個不完美的地方。

我在設計減法函式的時候由於考慮不夠充分就直接編寫程式,走了很多彎路,不得不停下來仔細研究演算法,後來發現由於前邊的加法函式完全適用於減法,只不過是將二元多項式B的所有項取負再用加法函式即可,可見演算法的重要性不低於程式本身。

3、程式的除錯中的經驗及體會

我在除錯過程中,發生了許多小細節上的問題,它們提醒了自己在以後程式設計的時候要注意細節,即使是一個括號的遺漏或者一個字元的誤寫都會造成大量的錯誤,浪費許多時間去尋找並修改,總結的教訓就是寫程式的時候,一定要仔細、認真、專注。

我還有一個很深的體會就是格式和註釋,由於平時不注意格式和註釋這方面的要求,導致有的時候在檢查和除錯的時候很不方便。有的時候甚至剛剛完成一部分的編輯,結果一不注意,就忘記了這一部分程式的功能。修改的時候也有不小心誤刪的情況出現。如果注意格式風格,並且養成隨手加註釋的習慣,就能減少這些不必要的反覆和波折。還有一點,就是在修改的時候,要注意修改前後的不同點在哪裡,改後除錯結果要在原有的基礎上更加精確。

資料結構心得體會8

本次課程設計所用到的知識完全是上學期的知識,通過這次課程設計,我認識到了我對資料結構這門課的掌握程度。

首先我這個課程設計是關於二元樹的,由於是剛接觸二元樹,所以我掌握的長度並不深。在程式設計之前我把有關於二元樹的知識有溫習了一遍,還好並沒有忘掉。二元樹這章節難度中上等,而且內容廣泛,所以我只掌握了百分之六七十。

然後,在程式設計中我認識到了自己動手能力的不足,雖然相比較大二而言進步很大,但是我還是不滿意,有的在程式設計中必須看書才能寫出來,有的靠百度,很少是自己寫的。還好,我自己組裝程式的.能力還行,要不這東拼西湊的程式根本組裝不了。在程式設計中我還認識到了,程式設計不能停下,如果程式設計的時間少了,知識忘的會很快,而且動手也會很慢。同時,同學之間的合作也很重要,每個人掌握的知識都不一樣,而且掌握程度也不一樣,你不會的別的同學會,所以在大家的共同努力下,程式設計會變得很容易。在這次程式設計中,我瞭解到了自己某些方面的不足,比如說連結串列的知識,雖然我能做一些有關於連結串列的程式設計,但是很慢,沒有別人程式設計的快,另外,二元樹和圖的知識最不好掌握,這方面的知識廣泛而複雜。以前,沒動手程式設計的時候覺得這些知識很容易,現在程式設計了才發現自己錯了,大錯特錯了,我們這個專業最重視的就是動手程式設計能力,如果我們紙上寫作能力很強而動手程式設計能力很差,那我們就白上這個專業了。計算機這個專業就是鍛鍊動手程式設計能力的,一個人的理論知識再好,沒有動手程式設計能力,那他只是一個計算機專業的“入門者”。在程式設計中我們能找到滿足,如果我們自己程式設計了一個程式,我們會感到自豪,而且充實,因為如果我們專研一個難得程式,我們會達到忘我的境界,自己完全沉浸在程式設計的那種樂趣之中,完全會廢寢忘食。程式設計雖然會乏味很無聊,但是隻要我們沉浸其中,你就會發現裡面的樂趣,遇到難得,你會勇往直前,不寫出來永不罷休;遇到容易的,你會找到樂趣。程式設計是很乏味,但是那是因為你沒找到程式設計重的樂趣,你只看到了他的不好,而沒有看到他的好。其實,只要你找到程式設計中得樂趣,你就會完全喜歡上他,不程式設計還好,一程式設計你就會變成一個兩耳不聞窗外事的“植物人”。可以說只要你涉及到了計算機,你就的會程式設計,而且還要喜歡上他,永遠和他打交道,我相信在某一天,我們一定會把他當作我們不可或缺的好朋友。

最後我要談的是長時間程式設計的好處,俗話說“熟能生巧”,確實是這樣。如果我們長時間不程式設計,在一接觸他,我們會感到很陌生。有規律的程式設計會提高我們的動手能力,我們的思維,也會讓我們變得很細心。在一個幾千行的程式中,我們都能找到錯誤,那我們還會怕其他的錯誤嗎?可以說程式設計是我們在我們這一行業的一把利劍,如果我們能很好的利用它,我們就會成為這個行業的真正成功者。也許你會說就算變成好了也不一定成功,是的,但是你不會程式設計就一定不會成功。如果,我們想成為這個專業的成功者,我們就得愛上程式設計,不管他是怎麼得乏味,怎麼得無聊,我們都不能丟掉他。

總之,動手程式設計就是鍛鍊我們的動手能力,當然這個動手能力並不是科研上的動手能力,而是我們的動手程式設計能力,記住,只要你真正的喜歡上他,你就會發現其中的樂趣,我相信,只要你堅持下去,你一定會喜歡上他,把程式設計當作自己日常生活中一件必須做的事情。

資料結構心得體會9

資料結構是計算機儲存、組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。資料結構往往同高效的檢索演算法和索引技術有關。

一般認為,一個資料結構是由資料元素依據某種邏輯聯絡組織起來的。對資料元素間邏輯關係的描述稱為資料的邏輯結構;資料必須在計算機中儲存,資料的儲存結構是資料結構的實現形式,是其在計算機內的表示;此外討論一個資料結構必須同時討論在該類資料結構上執行的運算才有意義。一個邏輯資料結構可以有多種儲存結構,且各種儲存結構影響資料處理的效率。

在許多型別的程式的設計中,資料結構的選擇是一個基本的設計考慮因素。許多大型系統的構造經驗表明,系統實現的困難程度和系統構造的質量都嚴重的依賴於是否選擇了最優的資料結構。許多時候,確定了資料結構後,演算法就容易得到了。有些時候事情也會反過來,我們根據特定的演算法來選擇資料結構與之適應。不論哪種情況,選擇合適的資料結構都是非常重要的。

從上面我們瞭解到了資料結構的重要性,它是一個程式的關鍵因素。拿到“陰風習習的大樓”這個題目時,一開始不知道從哪入手,以為可以把每個位置看成一個圖的一個節點,從而可以用鄰接表這種結構,通過遍歷鄰接表,每次選擇權值小的路徑走就可以得到最短的路徑了。我錯了,完全的錯了。通過認真的分析後,我認識到,這能簡單的看成一個圖,因為每個位置都只能到達它鄰接的位置而不是和其他各位置都有聯絡。而且如果每個位置轉化為圖的一個節點,這樣要表示每個節點的關係就需要n*n節點和n^4大小的陣列來儲存各個點的關係。還有這個大樓結構想轉化為一個圖也是不容易的。根據書上有些類似的“老鼠迷宮問題”,讓我想打,不如就用n*n大小的陣列直接儲存大樓結構。通過類似走迷宮的方法來遍歷,當遍歷完所有路徑後就能得到一個最小的路徑。那接下來怎樣遍歷呢?我採用了深度優先遍歷的方法,這樣可以用遞迴的方法,簡化程式碼。雖然理解上有一定困難,而且遞迴條件的控制要注意。

通過這次資料結構程式設計,不僅讓我對c語言的一些知識得到了回顧,加深了對c語言的掌握。同時也讓我對資料結構知識得到了一定的掌握。知道了怎麼去分析一個題目,怎樣選擇比較好的資料結構。讓我從怎麼樣實現一個程式功能,轉變到怎麼用更少的空間,更短的時間完成程式設計。空間和時間上對程式的優化是評價一個程式好壞的關鍵標準。

通過這次資料結構的程式設計也讓我懂得了怎麼樣去設計一個程式。從問題分析中找出程式所要解決的關鍵問題和資料結構的選擇;在概要設計中完成程式的大體輪廓;在詳細設計中解決關鍵問題的演算法和設計;在除錯分析中完成程式最終的修補。這樣一個比較好的程式就設計出來了。

日記
週記
小說
摘抄
語文
作文
口號
讀後感