可可簡歷網

位置:首頁 > 熱點 > 其他文案

資料結構課程設計心得體會2篇 探索資料結構:課程設計分享

在資料結構課程設計的過程中,我深刻體會到了它在電腦科學領域的重要性。通過對各種資料結構及其演算法的學習和實踐,我深入理解了資料組織、儲存和處理的原理。本文將分享我在課程設計中的心得體會,以希望能給讀者帶來一些啟發和思考。

資料結構課程設計心得體會2篇 探索資料結構:課程設計分享

第1篇

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

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

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

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

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

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

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

資料結構課程設計心得體會2篇 探索資料結構:課程設計分享 第2張

第2篇

通過本次課程設計,對圖的概念有了一個新的認識,在學習離散數學的時候,總覺得圖是很抽象的東西,但是在學習了《資料結構與演算法》這門課程之後,我慢慢地體會到了其中的奧妙,圖能夠在計算機中存在,首先要捕捉他有哪些具體化、數字化的資訊,比如說權值、頂點個數等,這也就說明了想要把生活中的資訊轉化到計算機中必須用數字來完整的構成一個資訊庫,而圖的存在,又涉及到了頂點之間的聯絡。

圖分為有向圖和無向圖,而無向圖又是有向圖在權值雙向相等下的一種特例,如何能在計算機中表示一個雙向權值不同的圖,這就是一件很巧妙的事情,經過了思考和老師同學的幫助,我用edges[i][j]=up和edges[j][i]=up就能實現了一個雙向圖資訊的儲存。

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