o: 回顧這乙個學期所學的知識,我們學到了很多資料儲存型別和運算方法。資料的邏輯結構包括線性結構和非線性結構,資料 的儲存結構包括順序結構、鏈式結構、索引結構、雜湊結構,其中我們在課堂上重點學習了前兩種,資料結構的運算有最基本的 增刪改查和最後學到的好幾種排序。
1. 第二章線性表包括了順序表和煉表,順序表必須要在使用之前規定它的大小,在記憶體中開闢一塊連續的記憶體,這個很容易佔 不滿而導致記憶體的浪費,相比較而言,鍊錶在這一方面體現出了比順序表更優越的效能,鍊錶會隨機開闢記憶體空間,使空間的利 用率更高,順序表在插入和刪除元素時要在這個元素之後整體進行移動,費時費力,查詢時更為簡單,而鍊錶在插入和刪除元素 時比較簡單,只需要將前乙個指標的next域指向後乙個元素,釋放中間節點即可,因此兩種方式各有優點,具體還要看使用的背 景而定。
2. 第三章我們學習了棧和佇列,棧是先進後出其應用有很多如在word等軟體中的撤回操作、網頁中的後退按鈕等等,佇列是先進 先出,我感覺佇列在我們的日常生活中的應用更為 廣泛一些,如銀行或醫院的叫好系統,先來的先取票,後來的要排隊。雖然二 者都是線性結構但是卻是完全不同資料型別,主要區別是對插入和刪除操作的「限定」,所以它們也被成為受限的線性表結構。
3. 第四章和第六章講的是串,串對我們來說不算陌生了,上學期就學過字串和陣列等,從邏輯結構看,串也是一種特殊的線性 表。串可以看作是每個資料元素只有1個元素組成的線性表。在串的模式匹配演算法中,我們在課堂上學習了bf演算法和kmp演算法。 bf演算法中很多地方是沒有必要進行比較的,這樣會使得效率在一定程度上降低。
4. 第五章學習的是遞迴,遞迴思想我們在上學期學習c++的時候就接觸過了,當時是在學斐波那契數列的時候用到的,現在在學 遞迴的時候還是有點懵,但是在紙上多畫畫走幾步就會明白其中的呼叫原理,在學習到後面的知識後發現遞迴思想是很好用的, 但是其複雜度較高,所以會選擇複雜度較低而且較為複雜的非遞迴演算法實現。
6. 第八章接觸到了圖的概念如有向圖、無向圖和帶權圖等等,主要有圖的鄰接矩陣和圖的鄰接表,在經過課程設計後也讓我對兩種 儲存方式有了更深的理解,在圖比較稀疏的時候用鄰接錶比用鄰接矩陣更能節省空間,但是如果是稠密圖的話用鄰接矩陣會更好 一些。在最短路徑中我們主要學習了2中演算法:迪傑斯特拉演算法和弗洛伊德演算法,迪傑斯特拉演算法是一種單源最短路徑演算法,用 於計算乙個節點到其他所有節點的最短路徑,以乙個源點為中心向外層擴充套件直到重點為止。弗洛伊德演算法可以計算出任意兩個點 之間的最短路徑,尤其是在稠密圖時效率會更加高效。我在我的課程設計飛機訂票系統中也用到了計算最小路徑,我當時將兩種 演算法進行比較最終選擇了迪傑斯特拉 演算法,我認為在課程設計飛機訂票系統中要注重時間複雜度,迪傑斯特拉演算法的時間複雜度 為o(n²),弗洛伊德則要高的多為o(n3),兩種演算法各有優點。
7. 在課程的最後我們學習到了很多種排序,有希爾排序、氣泡排序、快速排序、選擇排序、直接插入排序、堆排序、歸併排序、基 數排序等等,氣泡排序和選擇排序上學期我們就已經學過了而且還是期末考試上機的一到原題,網上的排序演算法多的驚人,這些 主流的演算法的思想都值得我們去深入研究和學習,將其進行比較來學習是乙個不錯的方法,對比記憶才能記得更加深刻,其中直 接插入排序、氣泡排序、歸併排序和基數排序都是穩定的排序演算法,其餘都是不穩定性排序演算法,再如平均情況較好的希爾排序 和基數排序等等,這些都應該在我們的腦子中留有印象。
i : 我認為本學期學習的單鏈表、迴圈鍊錶、堆疊、佇列和陣列等知識掌握的還可以,對樹和圖的理解還需要進一步的加深,但我感 覺這幾章正是資料結構的核心所在,是非常重要的而且這些理論在我們的現實生活中隨處可見用的極廣,後面的排序演算法很多, 關於其演算法的平均情況複雜度、是否是穩定排序演算法等內容都需要我們去理解去記憶,最後變成一種能力。
d: 資料結構這門課程對於計算機專業的學生來說是非常重要的,我們學習的不光是其中的演算法和知識,更多的是一種思想,一種編 程思想,這種思想會對我們的程式設計和以後的學習提供很大的幫助 ,讓我們的能力在不斷積累和實踐中提高,在馬上要到來的考試 週裡,還要對最後幾章的內容多記憶和理解,雖然資料結構課程結束了,但是我們對它的學習才剛剛開始,我會在以後的學習中 更加注重這方面的積累,在積累中進步!
2016級資料結構結課總結
在賀老師的帶領下,經過半學年的學習我們2016級部6專業完成了資料結構的學習。眾所周知資料結構是計算機專業的經典專業課,有個公式說得好 程式 資料結構 演算法。我覺得好的演算法是必要的但是合適的資料結構更是重中之重,所以在上這門課之前賀老師就給我們強調了它的重要性,這很重要。這半年不管從知識 學習習...
資料結構期末總結
資料結構期末總結 2015.12.18 早在大一的時候就聽說賀老師的課堂很有特色,很有趣,而賀老師本人也非常的厲害。猶記得當時在acm協會的時候,遇到賀老師時,都覺得賀老師身上光芒萬丈的,沒想到,到了大二居然就成了賀老師的親 我也明白了,賀老師的上課時間之所以輕鬆,並不是因為資料結構這門課多好學,而...
資料結構期末總結
這學期我學習了 資料結構 這門課程,從不了解到了解到喜歡上它,是乙個漫長的過程。不過賀老師的翻轉課堂卻讓我對這門課程產生了濃厚的興趣,最後賀老師讓我們自己總結一下這學期學了些什麼,所以我好好的想了一下。第一章為緒論,介紹了資料結構的基本概念,特別強調演算法分析的方法,第一章的內容算是正本教材的敲門磚...