資料結構課程總結
資料結構課程總結
總結是指社會團體、企業單位和個人在自身的某一時期、某一專案或某些工作告一段落或者全部完成後進行回顧檢查、分析評價,從而肯定成績,得到經驗,找出差距,得出教訓和一些規律性認識的一種書面材料,透過它可以正確認識以往學習和工作中的優缺點,因此好好準備一份總結吧。那麼你知道總結如何寫嗎?下面是小編幫大家整理的資料結構課程總結,歡迎大家分享。
資料結構課程總結1
資料結構與演算法是計算機程式設計的重要理論技術基礎,它不僅是計算機科學的核心課程,而且也已經成為其他理工專業的熱門選修課。隨著高階語言的發展,資料結構在計算機的研究和應用中已展現出強大的生命力,它兼顧了諸多高階語言的特點,是一種典型的結構化程式設計語言,它處理能力強,使用靈活方便,應用面廣,具有良好的可移植性。透過學習,先報告如下:
一、資料結構與演算法知識點
本學期學的《資料結構與演算法》這本書共有十一個章節:
第一章的內容主要包括有關資料、資料型別、資料結構、演算法、演算法實現、C語言使用中相關問題和演算法分析等基本概念和相關知識。其中重點式資料、資料型別、資料結構、演算法等概念;C語言中則介紹了指標、結構變數、函式、遞迴、動態儲存分配、檔案操作、程式測試與除錯問題等內容。
第二章主要介紹的是線性邏輯結構的資料在順序儲存方法下的資料結構順序表(包括順序串)的概念、資料型別、資料結構、基本運算及其相關應用。其中重點一是順序表的定義、資料型別、資料結構、基本運算和效能分析等概念和相關知識。二是順序表的應用、包括查詢問題(簡單順序查詢、二分查詢、分塊查詢)、排序問題(直接插入排序、希爾排序、氣泡排序、快速排序、直接選擇排序、歸併排序)、字元處理問題(模式匹配)等內容。本章重點和難點在查詢和排序問題的演算法思想上,6種排序方法的效能比較。
第三章主要介紹的是線性邏輯結構的資料在連結儲存方法下資料結構連結串列的相關知識。主要是單鏈表、迴圈連結串列的資料型別結構、資料結構、基本運算及其實現以及連結串列的相關應用問題,在此基礎上介紹了鏈串的相關知識。在應用方面有多項式的相加問題、歸併問題、箱子排序問題和連結串列在字元處理方面的應用問題等。本章未完全掌握的是迴圈連結串列的演算法問題和C的描述。
第四章介紹在兩種不同的儲存結構下設計的堆疊,即順序棧和鏈棧的相關知識,瞭解堆疊的相關應用,掌握應用堆疊來解決實際問題的思想及方法。本章主要內容是順序棧和鏈棧的概念、資料型別、資料結構定義和基本運算演算法及其效能分析。本章堆疊演算法思想較為簡單,所以能較好掌握。
第五章主要介紹順序儲存和連結儲存方法下的兩種佇列、順序(迴圈)佇列和鏈佇列的資料結構、基本運算及其效能分析以及應用。順序佇列(重點是迴圈佇列)和鏈佇列的概念、資料型別描述、資料結構和基本運算演算法及其效能分析等。本章同堆疊有點類似,演算法思想較為簡單,所以能較好掌握;但難點重在迴圈佇列隊空、隊滿的判斷條件問題。第六章“特殊矩陣、廣義表及其應用”將學習陣列、稀疏矩陣和廣義表的基本概念,幾種特殊矩陣的儲存結構及其基本運算,在此基礎上學習特殊矩陣的計算演算法與廣義表應用等相關問題。本章的重點是相關資料結構的儲存結構及其基本運算演算法。掌握了特殊矩陣的壓縮儲存結構,在該儲存結構下元素的定位方法,理解了稀疏矩陣的計算和廣義表的儲存結構。
第七章“二叉樹及其應用”的知識結構主要是:非線性結構資料二叉樹的定義、性質、邏輯結構、儲存結構及其各種基本運算演算法,包括二叉樹的建立、遍歷、線索化等演算法。在此基礎上,介紹二叉樹的一些應用問題,包括哈夫曼編碼問題、(平衡)二叉排序樹問題和堆排序問題等。
第八章“樹和森林及其應用”介紹樹和森林的資料結構、基本演算法及其效能分析,樹和森林與二叉樹之間的轉換演算法等,在此基礎上介紹樹的應用---B-樹,應用B-樹來實現資料元素的動態查詢。本章基本掌握樹和森林的概念和性質、資料結構、樹的基本演算法及效能分析,樹和二叉樹間的轉換及其演算法,並用應用B-樹來實現資料元素的動態查詢未能掌握好。
第九章“雜湊結構及其應用”是邏輯結構“集合型”的資料元素在雜湊儲存方法下的資料結構及其應用知識內容。主要介紹雜湊函式的概念、雜湊結構的概念、雜湊儲存結構的概念---散列表、雜湊函式和散列表中解決衝突的處理方法---開放定址法、鏈地址法以及散列表的基本演算法及其效能分析。本章概念較為多,所以掌握不太好。
第十章“圖及其應用”是邏輯結構為“圖形”的資料結構及其應用知識內容,主要介紹圖的定義和基礎知識,圖的2種儲存結構。圖的基本演算法以及圖的.典型應用問題(最小生成樹、最短路徑、拓撲排序和關鍵路徑等)。
二、對各知識點的掌握情況
我對各知識點的掌握情況總結如下:
第一章不太難,能基本掌握。但關係全書的時間效能分析有些未能全部掌握。第二章本章重點和難點在查詢和排序問題的演算法思想上,6種排序方法的效能比較。本章未掌握的為希爾排序、快速排序、歸併排序的時間複雜度分析。第三章,對連結串列掌握還好,對其資料結構進行了分析,有迴圈連結串列,掌握的不是很好,對其中一些用法不熟練。第四章堆疊,本章堆疊演算法思想較為簡單,所以能較好掌握,但表示式計算問題未掌握好的。第五章的迴圈佇列隊空、隊滿的判斷條件問題掌握的不是很好。第六章的重點是相關資料結構的儲存結構及其基本運算演算法。掌握了特殊矩陣的壓縮儲存結構,在該儲存結構下元素的定位方法,理解了稀疏矩陣的計算和廣義表的儲存結構。第七章對二叉樹掌握較好,其概念,儲存,遍歷有很好的掌握。就是對二叉排序樹有點生疏,它的生成演算法不是很會。第八章樹樹與二叉樹之間的轉換,森林與二叉樹的轉換演算法思想基本掌握。第九章雜湊的一些知識,沒有深入學習,大概瞭解了雜湊儲存結構散列表,雜湊函式,衝突的處理方法。第十章瞭解了圖的逆鄰接表的儲存結構,關鍵路徑求解演算法未能掌握好,不能靈活運用圖的不同資料結構和遍歷演算法解決複雜的應用問題。
三、學習體會
透過學習資料結構與演算法,讓我對程式有了新的認識,也有了更深的理解。同時,也讓我認識到,不管學習什麼,概念是基礎,所有的知識框架都是建立在基礎概念之上的,所以,第一遍看課本要將概念熟記於心,然後構建知識框架。並且,對演算法的學習是學習資料結構的關鍵。在第二遍看課本的過程中,要注重對演算法的掌握。對於一個演算法,讀一遍可能能讀懂,但不可能完全領會其中的思想。掌握一個演算法,並不是說將演算法背過,而是掌握演算法的思想。我們需要的是耐心。每看一遍就會有這一遍的收穫。讀懂演算法之後,自己再默寫演算法,寫到不會的地方,看看課本想想自己為什麼沒有想到。對演算法的應用上,學習演算法的目的是利用演算法解決實際問題。會寫課本上已有的演算法之後,可以借其思想進行擴充套件,逐步提高程式設計能力。
四、對課程教學的建議
1、感覺上課時的氣氛不是很好,雖然大部分人都在聽,可是效果不是很好。所以希望老師能在授課中間能穿插一些活躍課堂氛圍的話題,可以是大家都非常關心的一些內容,這樣既讓大家能在思考之餘有一個放鬆,也能夠提高學生的學習積極性和學習效率。
2、學習的積極性很重要,有時候我們花了很長時間去寫實驗報告,也很認真的去理解去掌握,可是最後實驗報告可能就只得了一個C,抄的人反而得A,這樣的話很容易打擊學生的積極性,在後面的實驗報告中沒動力再去認真寫。所以希望老師能在這方面有所調整。3、雖然講課的時間很緊,但是還是希望老師能在講述知識點的時候能運用實際的除錯程式來給我們講解,這樣的話能讓我們對這些內容有更深刻的印象和理解。
資料結構課程總結2
一、知識點概述
1、資料結構和演算法
本章作為全書的導引,全面介紹了相關概念,如資料、資料元素、資料型別以及資料結構的定義。其中,資料結構包括邏輯結構、儲存結構和運算集合。邏輯結構分為四類:集合型、線性、樹形和圖形結構;資料元素的儲存結構分為:順序儲存、連結儲存、索引儲存和雜湊儲存四類;最後介紹演算法的時間效能分析以及演算法的空間效能分析。
2、順序表及其應用
本章主要介紹的是線性邏輯結構的資料在順序儲存下的資料結構表的概念、資料型別、資料結構、基本運算及相關問題
一、主要介紹順序表的定義,基本演算法和時間效能的分析;
二、主要介紹一些簡單的查詢演算法和排序演算法
3、連結串列及其應用
本章主要介紹的是線性邏輯結構的資料在連結儲存下的資料結構連結串列的相關知識,本章主要介紹單鏈表、迴圈連結串列的資料型別的定義及一些對資料的操作的演算法和時間效能的分析。以及連結串列的應用主要有多項式相加,歸併問題、箱子排序問題等方面。
4、堆疊及其應用
本章介紹了兩種不同的儲存結構下設計的堆疊,即順序棧和鏈棧;分別對順序棧和鏈棧的資料型別定義和對資料的操作比若說取棧頂元素和元素入棧等演算法。最後介紹了堆疊的應用如:漢諾塔和火車車廂重排問題。
5、佇列及其應用
本章介紹了的是佇列的定義和邏輯結構、基本演算法。佇列也有兩種儲存方式,鏈佇列和順序佇列,其中順序佇列包括順序佇列和順序迴圈佇列;最後介紹了基數排序問題
6、特殊矩陣、廣義表及其應用
本章介紹了特殊矩陣和廣義表的概念與應用。其中,特殊矩陣包括對稱矩陣、三角矩陣、對角矩陣和稀疏矩陣,書中分別詳細介紹了它們的儲存結構。稀疏矩陣的應用包括轉置和加法運算等。最後介紹了廣義表的相關概念及儲存結構,關於它的應用,課本中舉了m元多項式的表示問題
7、二叉樹及其應用
本章在介紹有關概念時,提到了二叉樹的性質以及兩種特殊的二叉樹:完全二叉樹和滿二叉樹。接著介紹二叉樹的順序儲存和連結儲存以及生成演算法。重點介紹二叉樹的遍歷演算法(遞迴演算法、先序、中序和後序遍歷非遞迴演算法)和線索二叉樹。二叉樹的應用:基本演算法、哈弗曼樹、二叉排序樹和堆排序
8、樹和森林及其應用
樹和森林的概念和性質、資料結構、樹的基本演算法及效能分析,樹與二叉樹之間的轉換和森林與二叉樹之間的轉換及其相應的演算法。其次還有樹和森林的遍歷和樹的儲存結構,包括雙親表示法,孩子表示法,孩子兄弟表示法。
9、雜湊結構及其應用
本章主要介紹了:雜湊結構的概念及其儲存結構、雜湊函式、兩種衝突處理方法、線性探測雜湊和鏈地址雜湊的基本演算法以及雜湊結構的查詢效能分析10、圖及其應用
本章主要介紹圖的定義和基礎知識,圖的四種儲存結構,圖的基本演算法以及圖的典型應用問題如:最小生成樹,最短路徑,拓撲排序和關鍵路徑等。
二、學習體會
剛接觸這門課時,我卻是以為這門課就是一門C語言程式設計課,也看不到學習這門課到底有啥用,無非就是在上一次C語言,但經過一段時間的學習和老師在課堂上的講解,我發現,理想和現實始終都是有差距的,資料結構教會我們我們的不僅僅是單純的程式設計,還有那一個個演算法,教會我們如何透過設計算法來解決某一問題,如何合理的組織資料、高效率的處理資料。學會分析問題,透過設計算法來解決問題。其實只要懂得那些演算法的設計思想,一個程式無論採用哪種語言,只要思想正確,一樣可以設計出一個好的演算法。三、教學建議
1、建議在上課過程中加大隨堂練習的分量,以便學生能當堂消化課堂上學習的知識,也便於及時瞭解學生對知識點的掌握情況,同時有助於學生保持良好的精神狀態。
2、建議在課時允許的情況下,增加習題課的分量,透過課堂的習題講解,加深對知識點的掌握,同時對各知識點的運用有一個更為直觀和具體的認識。