1. 首頁
  2. 設計

資料結構程式設計心得體會

資料結構程式設計心得體會

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

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

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

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

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

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