黄色无毒网站_黄色美女视频网站_黄色成人免费在线_黄片下载软件

最新數據結構推薦書目 數據結構筆記整理(四篇)

格式:DOC 上傳日期:2023-01-11 19:51:52
最新數據結構推薦書目 數據結構筆記整理(四篇)
時間:2023-01-11 19:51:52     小編:zdfb

在日常學習、工作或生活中,大家總少不了接觸作文或者范文吧,通過文章可以把我們那些零零散散的思想,聚集在一塊。大家想知道怎么樣才能寫一篇比較優質的范文嗎?這里我整理了一些優秀的范文,希望對大家有所幫助,下面我們就來了解一下吧。

數據結構推薦書目 數據結構筆記整理篇一

數據結構:數據結構就是數據的組織形式,也可看成是包含數據結構的數據表,說明數據之間存在著一定的相互關系或約束。數據結構被形式地定義為(d,r),其中d是數據元素的有限集合,r是d上的關系有限集合.數據類型:一個值的集合和定義在這個值集上的一組操作的總稱;數據運算:對數據施加的一種操作;數據結構和數據類型兩個概念之間區別:簡單地說,數據結構定義了一組按某些關系結合在一起的數組元素。數據類型不僅定義了一組帶結構的數據元素,而且還在其上定義了一組操作。

邏輯結構:我們把只表現元素之間邏輯關系,而不涉及它們在計算機中的表示,只是理論的、反映在紙面上的東西,這種抽象的數據結構稱為邏輯結構。

物理結構:抽象的數據結構在計算機內的表示,也就是映射在存儲空間上的、具體的數據結構在計算機內表示,也就是映射在存儲空間上的、具體的數據結構。

數據:是對客觀事物的符號表示,在計算機科學中是指所有能輸入到計算機中并被計算機程序處理的符號的總稱;數據元素:數據的基本單位,在計算機程序中通常作為一個整體進行考慮和處理。一個數據元素可以由若干個數據項組成。數據項是數據的最小單位。

數據對象:性質相同的數據元素的集合,是數據的一個子集。

數據結構:是相互之間一種或多種特定關系的數據元素的集合。根據數據元素之間關系的不同特性。數據結構包括邏輯結構(線性結構,如線性表,棧,隊,串,數組 和非線性結構如 樹結構、圖結構)、物理(存儲)結構(集合、線性結構、樹形結構和圖狀結構或網狀結構)和數據運算如插入、刪除、修改、排序、查找。數據結構中,與所使用的計算機無關的數據叫邏輯結構,數據結構在計算機內存中的表示是指數據的存儲結構

四大類存儲結構:順序存儲、鏈式存儲、索引存儲和散列存儲。順序存儲包括數據存儲(把邏輯上相鄰的元素存儲在地址連續的存儲單位)和數據關系存儲(通過連續的物理地址體現關系);鏈式存儲包括數據存儲(把邏輯上相鄰的元素存放在物理地址隨意的存儲單元)和數據關系存儲(不僅存放數據本身還存放數據元素的物理地址)

抽象數據類型adt:一個數學模型以及定義在該模型上的一組操作,包括_數據和操作_兩個部分 算法的特性:有窮性(執行有窮步結束)、確定性(確切含義,不會產生二義性)、可行性、輸入(零個或多個輸入)和輸出(一個或多個輸出)

算法設計的要求:正確性、可讀寫、健壯性、效率與低存儲量需求。

2、數據的邏輯結構是指圖形結構_三種類型,樹形結構和圖形結構合稱為非線性結構_。數據的邏輯結構被分為集合結構、線性結構、樹形結構、圖形結構4種。

17_稱為存儲結構.1821、算法的執行時間是

371、某算法的時間復雜度為o(n2),表明該算法的_____.2.算法分析的目的是問題規模之間的關系;算法分析的兩個主要方面是空間復雜度和時間復雜度

5.在決定選取何種存儲結構時,一般不考慮

a.各結點的值如何b.結點個數的多少c.對數據有哪些運算d.編程語言實現這種結構是否方便。

10.程序段i = 0;while(i<=n){i = i * 3

12數據項的個數要相同,而且對應的數據項的類型要一致 1.數據結構是一門研究非數值計算的程序設計問題中計算機的系和運算等的學科。數據結構式相互之間存在一種或多種特定關系的數據元素的集合。10.數據的運算最常用的有5-1-

第二章 線性表

1.線性表:一個線性表是n個類型相同的數據元素的有限序列。線性表的順序表示:用一組地址連

續的存儲單元依次存儲線性表的數據元素。順序存儲結構的特點:優,可隨機存取表中任一元素,方便快捷;缺,再插入或刪除時,需移動大量元素,數組的靜態空間分配。

2.線性結構與非線性結構的不同點:線性結構反映結點間的邏輯關系是 一對一的,非線性結構反

映結點間的邏輯關系是多對多的。

3.從一個具有n個節點的單鏈表中查找其值等于x結點時,在查找成功的情況下,需平均比較個結點,4.在一個單鏈表中,已知*q結點是*p結點的前驅結點,若在*q和*p之間插入*s結點,則執行 5.對順序存儲的線性表,設其長度為n,在任何位置上插入或刪除操作都是等概率的,刪除一個

元素時大約要移動表中的(n-1)/2兩種情況下求平均個元素。

6.設單鏈表中指針p指著結點m,指針f指著將要插入的新結點x,當x插在鏈表中最后一個結點

m之后時,只要先修改后修改p->link=f即可。

7.在一個長度為n的順序存儲的線性表中,刪除第i個元素(1<=i<=n)時,需要從前向后依次前移i個元素前插入元素需移動

存儲結構需要分配較大空間,插入和刪除不需要移動元素的線性表

9、在雙向鏈表存儲結構中,刪除p所指的結點時需修改指針p所指的結點的前趨結點(若存在)時需修改指針

1.在循環雙鏈表的p所指結點之前插入s所指結點的操作是12.若某表最常用的操作是在最后一個結點之后插入一個結點或刪除最后一個結點,則采用_結點的雙循環鏈表__存儲方式最節省運算時間;某線性表最常用的操作是在最后一個結點之后插

入一個結點或刪除第一個結點,故采用_僅有尾指針的單循環鏈表存儲方式最節省運算時間;對

于只在表的首、尾兩端進行插入操作的線性表,宜采用的存儲結構為用尾指針表示的循環單鏈表

14.15.16.17、不帶頭結點的單鏈表head為空的判定條件是 帶頭結點的~是

19、帶頭結點的雙循環表l為空表的條件是。

20、非空的循環單鏈表head的尾結點(由p所指向)滿足21.在一個長度為n(n>1)操作與鏈表的長度有關;與單鏈表相比,雙鏈表的優點之一是順序訪問相鄰結點更靈活

23線性表的鏈接存儲中,元素之間的邏輯關系是通過鏈接指針決定的。

24、從順序表中刪除第i個元素時,首先把第i個元素賦給_針開始向后的所有元素均前移一個位置,最后使線性表的長度減1。

25,26、循環單鏈表l為空的條件是

27、在以hl為表頭指針的帶表頭附加結點的單鏈表和循環單鏈表中,鏈表為空的條件分別為。

28、在線性表的單鏈接存儲中,若一個元素所在結點的地址為p,則其后繼結點的地址為,若p為一個數組a中的下標,則其后繼結點的下標的a[p].next。

29、在由數組a中元素結點構成的單鏈表中,在下標為i的結點的后面插入一個下標為j的結點

時,需要進行的操作為a[j].next=a[i].next和a[i].next=j語句。

第三章 棧和隊列

1.棧:是限定僅在表尾進行插入或刪除操作的線性表。棧又稱為先進后出lifo的線性表。

2.判定一個棧st(最多元素為m0)為空的條件是

2.棧的兩種存儲方法:一是順序棧,即棧的順序存儲結構是利用一組地址連續的存儲單元依次存

放自棧底到棧頂的元素;二是棧的鏈式表示。

3.隊列:隊列是一種先進先出fifo的線性表。允許插入的一端叫做隊尾rear,允許刪除的一段則

稱為隊頭front

4.鏈隊的出隊入隊操作:s入隊,rear->next=s;rear=s;p出隊:front->next=p->next

5.順序隊:插入元素:front不變,rear加1;刪除元素:rear不變,front加1。判定一個順序棧

st(最多元素為maxsize)為空的條件是6.循環隊列:空隊滿隊都是rea=r=front為區分,規定循環隊列中剩一個元素即為滿隊,front=rear+1

7.8.9.向一個棧項指針為hs的鏈棧中插入一個*s結點時,則執行。

10.在一個鏈隊列中,假定front和rear分別為隊首指針和隊尾指針,則進行插入*s結點的操作時

應執行rear->next=s;rear=s;

11.若己知一個棧的進棧序列是1,2,…,n,其輸出序列為p1,p2,p3,…,pn,若p1=n,則pi(1

23、判定一個環形隊列qu(最多元素為maxsize)為空的條件是是(qu->rear+1)%maxsize==qu->front

列的元素個數是(rear-front+maxsize)%maxsize。

24.從一個不帶頭結點的棧頂指針為1st的鏈棧中刪除一個結點時,用x保存被刪結點的值,則執行5.棧頂指針

7.在鏈表qu中,判定只有一個結點的條件是設有一個順序棧s,元素s1,s2,s3,s4,s5,s6依次進棧,如果6個元素的出棧順序為s2,s3,s4,s6,s5,s1,則順序棧的容量至少應為3。

9.設計一個判別表達式中左、右括號是否配對出現的算法,采用數據結構最佳

例:設有編號為1,2,3,4的四輛列車,順序進入一個棧式結構的車站,具體寫出這四輛

列車開出車站的所有可能的順序。

答:至少有14種①全進之后再出情況,只有1種:4,3,2,1②進3個之后再出的情況,有

3種,3,4,2,13,2,4,13,2,1,4③進2個之后再出的情況,有5種,2,4,3,12,3,4,12,1, 3,4

2,1,4,32,1,3,4④進1個之后再出的情況,有5種,1,4,3,21,3,2,41,3,4,21, 2,3,41,2,4,3

第四章 串

1.串:由零個或多個字符組成的有限序列;串中字符的數目n稱為串的長度,零個字符的串稱為

空串。包含子串的串相應的稱為主串,通常稱字符在序列中的序號為該字符在串中的位置。

2.空串是,其長度等于度等于其包含的空格個數。組成串的數據元素只能是 單個字符。

4.一個字符串中稱為該串的子串。

5.若串s= ‘software’,其子串的數目是字符串長度為n的字串的個數計算公式 :[n+(n-1)+...+ 1+1])

60.串是一種特殊的線性表,其特殊性體現在61.設有兩個串p和q,求q在p中首次出現的位置的運算稱為 串:1。kmp算法,求next函數值等。時間:o(n+m)。其中,模式匹配為o(n);預處理為

o(m);求兩串的最長公共子串,時間為o(n)是不行的,至少要o(n2)。

第五章 數組(線性結構,元素受限,操作不限)和廣義表

1.矩陣的壓縮存儲:是指為多個值相同的元只分配一個存儲空間,對零元不分配空間。

2.樹的存儲結構:

一、雙親表示法:就是用一組連續空間存儲樹的結點,同時在每個結點中附設

一個指示器指示其雙親的結點在數組中位置。特點:找雙親容易,找孩子難;

二、孩子兄弟表示

法(又稱二叉樹和二叉鏈表表示法)鏈表結構中的兩個鏈域分別指向該結點的的第一個孩子結點

和下一個兄弟結點。操作容易,破壞了樹的層次

第六章 樹和二叉樹

1.樹:樹是由n個類型相同的元素構成的有限集。

2.二叉樹的性質:在二叉樹的第i層上至多有2i-1個結點;深度為k的二叉樹最多有2k-1個結點;

葉子結點比度為2的結點個數多1。

3.遍歷二叉樹:先序遍歷(根左右)、中序遍歷(左根右)、后序遍歷(左右根)。前后序遍歷確定

跟,中序遍歷確定左右子樹,依次判斷,方法是:由前序先確定root,由中序可確定root的左、右子樹。然后由其左子樹的元素集合和右子樹的集合對應前序遍歷序列中的元素集合,可繼

續確定root的左右孩子。將他們分別作為新的root,不斷遞歸,則所有元素都將被唯一確定.第七章圖

一、圖的定義和術語:

1、圖(graph)——圖g是由兩個集合v(g)和e(g)組成的,記為g=(v,e)

其中:v(g)是頂點的非空有限集 e(g)是邊的有限集合,邊是頂點的無序對或有序對

2、有向圖—有向圖g是由兩個集合v(g)和e(g)組成的其中:v(g)是頂點的非空有限集e(g)是有

向邊(也稱弧)的有限集合,弧是頂點的有序對,記為

,v,w是頂點,v為弧尾,w為弧頭

3、無向圖——無向圖g是由兩個集合v(g)和e(g)組成的其中:v(g)是頂點的非空有限集

e(g)是邊的有限集合,邊是頂點的無序對,記為(v,w)或(w,v),并且(v,w)=(w,v)

4、n個頂點的有向圖最大邊數是n(n-1); n個頂點的無向圖最大邊數是n(n-1)/26、權——與圖的邊或弧相關的數叫~;簡單路徑——序列中頂點不重復出現的路徑叫~

14、簡單回路——除了第一個頂點和最后一個頂點外,其余頂點不重復出現的回路叫~

16、連通圖——圖中任意兩個頂點都是連通的叫~;連通分量——非連通圖的每一個連通部分叫~

18、強連通圖——有向圖中,如果對每一對vi,vj?v, vi1vj,從vi到vj 和從vj到 vi都存在路徑

1、深度優先搜索----從圖的某一頂點v0出發,訪問此頂點;然后依次從v0的未被訪問的鄰接點

出發,深度優先遍歷圖,直至圖中所有和v0相通的頂點都被訪問到;若此時圖中尚有頂點未被

訪問,則另選圖中一個未被訪問的頂點作起點,重復上述過程,直至圖中所有頂點都被訪問為止

深度遍歷:v1-> v2->v4-> v8->v5->v3->v6->v72、廣度優先遍歷(bfs)——方法:從圖的某一頂點v0出發,訪問此頂點后,依次訪問v0的各個

未曾訪問過的鄰接點;然后分別從這些鄰接點出發,廣度優先遍歷圖,直至圖 中所有已被訪問的頂點的鄰接點都被訪問到;若此時圖中尚有頂點未被訪問,則另選圖中一個未被訪問的頂點作

起點,重復上述過程,直至圖中所有頂點都被訪問為止

第九章 查找

1.靜態查找——拆半查找:確定待查記錄所在的范圍,然后逐步縮小范圍知道找到或找不到該記

錄為止。假設low和high分別為待查元素所在范圍的上下界,指針mid指示區域中間的位置,mid=[low+high]/2.此處low和high分別為位置而非數值。比較時與mid做比較,比mid大,low=mid+1,反之high=mid-1,mid重新計算。查找成功或失敗最多比較關鍵字個數不超過[log2n]+1

例:折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,則它

將依次與表中20,70,30,50 比較大小,查找結果是失敗。

2.靜態查找——順序查找:從表中最后一個記錄開始,逐個進行記錄的關鍵字和給定值的比較,相等則查找成功,反之失敗。平均查找長度:asl=(n+1)/2

3.二叉排列樹:或是一棵空樹;或者是具有以下性質的二叉樹:1.若它的左子樹不空,則左子樹

上所有結點的值均小于它的根結點的的值;2.若它的右子樹不空,則右子樹上所有借點得知均大

于它的根節點的值;3.它的左右子樹上也分別為二叉排列樹。

數據結構推薦書目 數據結構筆記整理篇二

“數據結構”課程總結

計算機科學與技術專業從1994年開始為我校專科生開設“數據結構”課程,2004年開始為本科生開設這門課程。由于本門課程的教學從教材、講授、實驗指導都體現了先進的教育理念,該課程的教學體系科學、完整,教學手段與方法先進,課程特色鮮明,2006年被評為赤峰學院本科層次精品課。幾年來,數據結構課題組成員從以下幾個方面對本門課程進行了建設和改革。

一、課程建設指導思想、定位和特色 1.學科地位

“數據結構”是計算機科學與技術專業的一門學科基礎課,是本專業和相關專業必修課。本課程的教學目標是培養學生通過理解、分析和研究計算機處理的數據對象的特性,從而選擇適當的數據結構、存儲結構和相應的算法,并熟練掌握算法的時間分析和空間分析技巧。“數據結構”還是計算機科學與技術專業部分專業課的先導課,如“數據庫原理與應用”、“計算機操作系統”、“計算機編譯原理”和“面向對象的程序設計”等。所以本課程的教學效果將直接影響到學生對其它后續專業課的學習,因此,該課程在專業建設的地位十分重要。

“數據結構”是一門應用性很強的課程,本課程要求學生在掌握各種數據結構,特別是存儲結構和有關算法的基礎上,通過大量的上機實例把難以理解的、抽象的概念轉化為計算機能夠正確運行的程序,從而提高學生運用所學知識解決實際問題的能力。2.課程特色

根據課程建設的規劃和我系實際,我們針對《數據結構》課程教學開展討論,并就實驗、圖書資料等方面進行建設。在不斷的教學實踐中,我們按照精品課建設要求,積極探索,積累了豐富的教學經驗。

采用國內經典教材,結合前沿的研究領域和最新科研動態,豐富教學內容,讓學生了解數據結構的實際應用價值。

采用課堂教學與大作業相結合,上機實踐為補充的教學模式,培養學生的創業創新素質和團隊協作精神。

二、教師隊伍建設

1.良好的學緣結構

任課教師的業務水平和教學水平是影響課程建設質量的重要因素。為此,我們不斷加強師資隊伍建設,特別注重青年教師和實驗指導教師的培養。在擔任該課程教學任務的5名教師中,教授1名、副教授2名、講師2名,學歷結構為碩士4人、學士1人,45歲以下3人,35歲以下2人。本教師梯隊學歷層次較高,職稱、年齡結構合理,便于本門課程的建設和發展。

2.加強學術交流,不斷提高團隊整體教學和科研水平

在教學過程中,我們采取了互相聽課,舉行公開課、觀摩課等方式,經常交流教書育人和教學改革方面的經驗,不斷提高任課教師的教學水平和學術水平。

以范體貴教授為學科帶頭人的教學研究梯隊,具有豐富的教學經驗和高昂的教學熱情,同時具備較高的教學研究和科學研究水平。教學梯隊成員在搞好教學的同時,積極申報承擔各級各類教學研究和科學研究課題,并參加國內外相關學科的科研、教學等方面的學術交流活動。選派范體貴、門愛華兩位老師參加全國計算機年會和全國數據庫學術會議,與國內其他高校著名學者進行了教學、科研等方面的交流,學到許多寶貴的經驗和方法。

注重與其他高校的合作和交流,學習其他院校好的教學經驗和方法。選派主講教師門愛華老師到清華大學計算機系做訪問學者,訪學期間門老師聽取了本課程的講授,經常與講授本門課程的資深教授嚴蔚敏老師、殷仁昆老師進行交流、學習。二位老師都給予了具體的指導和建議,為我校本門課程的改革和發展提供了有利的幫助。請國內著名高校學者來我系講學傳授經驗,在教學、科研等方面給予具體的指導。2008年10月清華大學著名數據庫專家馮建華教授來我系講學,課題組成員與馮教授進行了深入的交流,在教學和科研方面都有很大的收獲。

3.開展科學研究,積極申請科研立項

數據結構課題小組成員積極進行相關領域的科學研究,幾年來發表相關論文30余篇,承擔自治區級科研項目四個,赤峰市科技局科研項目一個,院級項目一個,其中3個項目已經完成并通過驗收。目前在研的一個科研項目是與清華大學合作申請的計算機前沿領域研究課題,相信通過該項目的研究和合作,對我系的科研工作會起到極大的促進作用,同時能夠使我系科研水平上一個新的臺階。課題組成員經過幾年的努力,在各方面都取得了一些成績。范體貴、門愛華、張國祥、王玉紅四位教師分別獲得“赤峰學院課堂教學質量優秀獎”,范體貴、門愛華兩位教師多次獲得“赤峰學院科研成果優秀獎”的獎勵。王玉紅老師獲得“畢業實習優秀指導教師“稱號,門愛華老師2007年、2008年連續獲得“畢業論文優秀指導教師”獎勵。

建立了良好的人才培養制度,在學校和系里的大力支持下,鼓勵現有教師提高學歷與引進高學歷教師相結合,經過幾年的建設,已經形成了一支以中青年為主的學科梯隊。積極鼓勵中青年教師到國內名校進修或攻讀碩士、博士學位,門愛華、董潔、王玉紅分別考取了東北大學和遼寧工程技術大學的碩士研究生,已圓滿完成學業并獲得碩士學位。

三、教學內容、教材建設

1.理論環節教學內容及學時分配

“數據結構”是計算機科學課程體系中核心課程之首,作為學科的專業基礎課,具有承上啟下的重要作用。對應于學科中問題求解的理論、抽象和設計的方法論,本課程內容體系結構分為概念表述、構建數據模型、設計算法三個層面,突出數據組織方法與處理技術,貫穿程序設計和軟件工程新思想和新觀點。理論學時設置為72學時。

2.實踐環節教學內容及學時分配

上機實踐和課程設計重在培養學生軟件設計的綜合能力。在基本的課程實習基礎上,自2001年起開設了數據結構課程設計,使課程的實踐環節總學時數增加到60學時。提出了課程設計的規范要求,突出關鍵技術要點,貫穿基本技能訓練主線,加強實踐能力培養。

通過課程設計的訓練,突出構造性思維訓練的特征,提高了學生組織數據與進行編寫大型程序能力,使學生更好地理解和掌握了算法設計所需的技術,為專業學習打下良好的基礎。課程設計題目(動態更新、完善):航空客運訂票系統;電梯模擬;簡單行編輯程序;工資管理系統;醫院排隊看病活動的模擬;學籍管理系統;圖書管理系統等。3.教材建設

教材建設是課程建設的重要環節。為此,根據教學大綱和本課程的發展需要,在本課程教材的選用上注重教材的先進性和科學性,我們選用了清華大學出版社嚴蔚敏教授等編寫的《數據結構》(c語言版)作為教材,本書內容豐富、體系結構嚴謹、概念清晰、易學易懂,也是多所院校指定的考研參考教材,完全適合我系計算機科學與技術、信息與計算科學專業學生的需要。任課教師則多方面參考相關教材,選擇部分編寫精彩的內容充實到教案中。任課教師們廣泛閱讀相關文獻,了解該領域前沿知識,并且在授課過程中介紹給學生,以開闊學生的視野,拓寬學生的知識面。同時,根據教材內容和實際教學要求,編寫了《數據結構上機指導與習題就解答》,并正式出版了《數據結構實驗教程》一書,該書作為自治區教育廳統編教材已在各高校廣泛使用。

四、教學方法和教學手段

1.教學方法

在教學方法上,講課、討論和專題講座等多種形式并用,以科學、生動靈活的講授方式傳授知識,培養學生的創造思維。教師在認真組織課堂講授,注意各環節正常運行的同時,還針對不同的教學內容采取不同的方法進行講解,做到課程內容既條理清晰、深入淺出,又重點突出、特色鮮明。教學內容靈活,既有必講的內容,也有針對不同專業需要和特點選講的內容。

通過布置適量的課后習題,使學生能夠進一步鞏固和提高對課上所學知識的領悟和應用能力。我們在選擇習題時,一方面注重三基(基本理論,基本方法,基本技能)知識的掌握,另一方面也充分考慮知識的靈活應用,使學生能多角度、多方法地解決問題,既鍛煉他們的系統性思維,又提高分析解決問題的能力。每兩周安排一次習題課,由指導教師集中解決同學課上課下遇到的問題。

上機實踐是學生對本門課程所學知識的一種全面、綜合的能力訓練,是與課堂聽講、自學和練習相輔相成必不可少的一個教學環節,也是對課堂教學效果的一種檢驗。通常,實習題中的問題比平時的習題復雜得多,也更接近實際。實習題注重原理與應用的結合,目的讓學生學會如何把書上學到的知識運用于解決實際問題的過程中去,培養從事軟件開發設計工作所必需的基本技能。同時,通過實踐能使書上的知識變“活”,起到深化理解和靈活掌握教學內容的作用。平時的練習較偏重于如何編寫功能單一的“小”算法,而實習題是軟件設計的綜合訓練,包括問題分析,總體結構設計,用戶界面設計,程序設計基本技能和技巧,可以多人合作,有利于一整套軟件工程規范的訓練和科學作風的培養。此外,實踐環節中有很重要的一點,就是機器是比任何教師都嚴格的主考官。

2.教學手段

為了適應現代化教學的需求,我們在傳統教學的基礎上,充分利用現代科學技術,廣泛應用多媒體教學課件和教學軟件。將授課內容制作成了圖文并茂的多媒體課件,利用多媒體技術對數據結構輔之以形象的動畫,動態演示抽象的復雜數據結構的變化,用板書補充某些推導過程并完成和學生互動的內容,改變了以前課堂教學單調的弊病,激發了學生的學習興趣。使用多媒體技術還可以直接在課堂上演示算法的實現過程,讓學生熟悉算法實現的環境和方法,增強了該門課的實踐性,提高了課堂授課效率和教學質量,取得了滿意的教學效果。教師們為了更好地適應社會的發展和改革的需要,本著強化算法的思想,在現有數據結構內容的基礎上,補充了新的算法,拓寬了學生的知識面。

五、課程建設取得的成果

1.教學科研論文

1)the boundary element analysis for the thermal conduction of the thermal equipment。proceedings of international conference on computational physics, rinton press, us,(2005)199-202(sci)

2)基于訪問控制列表的路由器防火墻在網絡安全中的應用研究。計算機與網絡 24,(2004)52-53(核刊)3)信息系統在企業現代化管理中的應用。《商場現代化(學術版)》,2005.2 25-26(核刊)4)可信網絡基本概念與基本屬性研究。《赤峰學院學報 》2007.5 5)基于包過濾技術路由器防火墻在網絡安全中的研究。《計算機應用研究》,2007,vol23 6)research on the architecture of tru-network。2008 international symposium on information science and engineering 7)路由器防火墻對沖擊波、震蕩波病毒的過濾研究。《赤峰學院學報》 2005.1 67-68 8)菲涅耳圓孔衍射的數值模擬。《赤峰學院學報》 2006.1 9)復雜軸承流體動力學特性的邊界元分析。《潤滑與密封》 2006.3(核刊 ei核心刊源)10)三葉軸承流體動力學特性的邊界元分析。《潤滑與密封》 2006.5(核刊 ei核心刊源)11)164-182hf核的低能譜和電磁躍遷的相互作用玻色子模型。《高能物理與核物理》 28(12),(2004)119-122(核刊, sci收錄)12)基于訪問控制列表的路由器防火墻在網絡安全中的應用研究。《計算機與網絡》 2004.24 13)赤峰學院校園網路由器、交換機的選型及遠程登錄。《赤峰教育學院學報》2004.5 81-82 14)《xml數據庫存儲策略綜述》 《計算機科學》 2005年9月(核刊)15)《xml數據庫結構連接算法之研究》《計算機科學》 2007年6月(核刊)16)《xml中xpath包含關系判定算法》《內蒙古大學學報》2008年10月(核刊)17)《基于關系數據庫的xml數據的存儲研究》《赤峰學院學報》 2006年 3 月 18)《xml數據庫模式匹配算法研究》 《赤峰學院學報》 2007年 5月 19)《internet蠕蟲的分析與研究》 《赤峰學院學報》 2005年 4月 20)《如何防止外部網絡的攻擊》 《赤峰學院學報》 2004年2月 21)《射頻ic卡消費系統的設計與實現》 《赤峰學院學報》 2008年10月 22)《xpath片斷的分析與研究》 《赤峰學院學報》 2008年1月 23)《一種基于層次結構的xml編碼技術》 中國教育信息化》 2009年4月(核刊)24)《vc++實現圖形、數據庫應用系統的思路》赤峰教育學院學報 2002年第2月 25)《基于ip組播的多媒體會議系統的設計》 赤峰教育學院學報 2002年6月 26)論文《個性化windows系統“開始”菜單》赤峰教育學院學報 2003年4月 27)淺談debug程序的主要命令用法 赤峰學院學報 2007年5月 28)powerpoint技巧在課件制作中的妙用 赤峰學院學報 2006年1月 29)淺談用masm運行匯編程序 赤峰學院學報 2005年 1月 30)xml數字簽名淺析 赤峰學院學報 2008年 5月 31)《網絡層的靜態路由選擇綜述》 赤峰學院學報 2005年3月 32)《離散數學在計算機教學中的作業》 赤峰學院學報 2008年1月 33)《基于模擬退火算法的油井工礦數據挖掘的應用研究》

赤峰學院學報2009年1月

2.教研課題

1)赤峰學院校園網項目 赤峰學院 2002年-2003年(已驗收)2)基于ip網qos動態控制研究 內蒙教育廳 2005年-2007年(已結題)3)基于結構索引xml模式匹配方法研究 內蒙教育廳 2005年—2007年(已結題)4)xml數據庫研究 赤峰學院 2006年—2008年(已結題)5)cai系統中知識個性化組織與導航研究 內蒙教育廳 2003年-2005年(已結題)6)xml安全數據發布關鍵問題研究 內蒙教育廳 2009年—2010年(在研)3.教學獲獎

1)范體貴、門愛華、張國祥、王玉紅分別獲赤峰學院2005、2006年、2007年、2008年“課堂教學質量優秀獎”;

2)門愛華2007年、2008年連續獲的“畢業論文優秀指導教師”獎勵; 3)王玉紅2007年獲院級“畢業實習優秀實習指導教師”獎勵;

4)2009年《數據結構課程教學和實踐》課題”獲赤峰學院“優秀教學成果二等獎”。

數據結構課程組 2009年5月14日

數據結構推薦書目 數據結構筆記整理篇三

數據結構與算法課程論文綜述

摘要

如何合理的組織數據、高效率的處理數據是擴大計算機應用領域、提高軟件效率的關鍵。在軟件開發過程中要求“高效地”組織數據和設計出“好的”算法,并使算法用程序來實現,通過調試而成為軟件,必須具備數據結構領域和算法設計領域的專門知識。

《數據結構與算法》課程就是主要學習在軟件開發中涉及的各種常用數據結構及其常用算法,在此基礎上,學習如何利用數據結構和算法解決一些基本的應用問題。

課程主要內容

本學期一共學習了十章的內容,下面就這十章的內容作了詳細的介紹。第一章:數據結構與算法概述

本章主要是對數據、數據類型、數據結構、算法及算法分析等基本概念的掌握,而如何合理地組織數據、高效地處理數據正是擴大計算機領域、提高軟件效率的關鍵,所以對這些概念的理解就顯得十分重要。

數據是指描述客觀事物的數值、字符、相關符號等所有能夠輸入到計算機中并能被計算機程序處理的符號的總稱,其基本單位是數據元素,而數據類型是一個同類值的集合和定義在這個值集上的一組操作的總稱。在高級程序語言中定義一種數據類型時,編譯程序編譯系統就能獲得如下信息:(1)、一組性質相同的值的集合;(2)、一個預訂的存儲體系;(3)、定義在這個值集合上的一組操作。數據結構是指數據元素之間的關系,它包括數據的邏輯結構、存儲結構、一組運算集合;數據的邏輯結構分為線性結構和非線性結構。數據的存儲方法有:順序存儲方法、鏈接存儲方法、索引存儲方法和散列存儲方法。接下來便是關于算法的有關概念,算法是為解決一個特定問題而采取的確定的有限步驟集合,它具有有窮性、確定性、可行性、輸入和輸出。關于算法的性能分析,分為時間性能分析和空間性能分析。第二章:順序表及其應用

本章主要是對順序表、順序表的結構、數據類型、基本算法及相關應用的介紹。順序表是一種簡單而常用的數據結構,其應用范圍較為廣泛,包括查找問題、排序問題、字符處理問題等內容。第三章:鏈表及其應用

鏈表是一種簡單、常用的數據結構,與順序表相比,具有插入、刪除結點不需要移動元素,不必事先估計存儲空間大小等優點,操作較為靈活。它有六種基本運算:(1)、置空表(2)、求表長(3)、按序號取元素(4)、按值查找

(5)、插入(6)、刪除。

單鏈表即鏈表的每個結點只有一個指針域,用來存儲其直接后繼的存儲位置。但是這樣就使得對結點前面的元素的操作很困難,所以就在每個結點增加一個指向其前驅結點的指針域,從而構成雙向鏈表。同時由于每個結點的地址既存放在其前驅結點的后繼指針中,又存放在其后繼結點的前驅指針域中,所以雙向鏈表的插入操作分為前插和后插。第四章:堆棧及其應用

首先要明白棧是一種受限制的線性結構,遵守“先進后出”的規則,其插入與刪除操作都在棧頂進行。

其次根據順序存儲和鏈接存儲,棧分為順序棧和鏈棧。其中順序棧棧是用地址連續的存儲空間依次存儲棧中數據元素,并記錄當前棧頂數據元素的位置;基本算法包括置空棧、判棧空、判棧滿、取棧頂元素、入棧和出棧。而鏈棧則使用鏈式存儲堆棧的數據元素,并記錄當前棧頂數據元素的位置;每個結點包括data數據域:用來存放數據元素的值,next指針域:用來存放其直接后繼結點的存儲地址,其基本運算和順序棧相同。

最后是關于堆棧的應用:(1)、數值轉換問題;由于在將十進制數n轉換為d進制數時,最先得到的余數是d進制數的最低位,在顯示結果時需要最后輸出;而最后求得的余數是d進制數的最高位,需要最先輸出。這與棧的“先入后出”性質相吻合,所以可用棧來存放逐次求得的余數,然后輸出。(2)、括號匹配問題;當讀取一個表達式時,一旦讀到括號就進棧,而讀到下一個括號時就與棧中括號比較,若相匹配,則出棧,否則繼續讀取表達式。到最后,如果棧為空棧,則說明括號匹配,否則括號不匹配。第五章:隊列及其應用

首先和棧一樣,要知道隊列是一種受限制的線性結構,遵守“先進先出”的規則,其插入在隊尾、刪除在對頭。

其次根據順序存儲和鏈式存儲,隊列也分為順序隊列和鏈隊列。其中順序隊列是用地址連續的向量空間依次存儲隊列中的元素,同時記錄當前對頭元及隊尾元素在向量中的位置。然后是鏈隊列,即在存儲器中占用任意的、連續或不連續的物理存儲區域,使用動態結點空間分配;在這其中,值得注意的是鏈隊列不存在隊滿的情況。

第六章:特殊矩陣、廣義表及其應用

首先是關于矩陣的概念即存儲方法;

1、二維數組中元素aij的地址為:(1)、以行序為主存儲,loc(aij)=loc(a00)+[j*(m+1)+i]*d(2)、以列序為主存儲,loc(aij)=loc(a00)+[i*(n+1)+j]*d,其中m為行數、n為列數、d為每個元素所占的存儲單元的個數。

2、對稱矩陣:即將下三角存儲在一個一維數組sa[k]中,其中0≤k<(n+1)/2;當i≥j時,k=i*(i+1)/2+j,當i

3、三角矩陣:和對稱矩陣的存儲思路一樣用一維數組sa[k]存儲,若是上三角矩陣(下三角中元素均為常數c),則當i≥j時,k=i*(i+1)/2+j,當i

j時,k=n*(n+1)/2

4、對角矩陣:同樣存儲在一維數組sa[k]中,k=2i+j

5、稀疏矩陣:即矩陣中非零元素個數遠遠小于矩陣元素個數,可用三元組表存儲,將非零元素的值與其行號、列號存放在一起。

其次是關于廣義表的概念;廣義表是n(n≥0)個元素a1、a2、a3、?、an的有限序列,而ai或是原子或是一個廣義表,所以廣義表是遞歸定義。第七章:二叉樹及其應用

首先關于二叉樹的概念及其性質;二叉樹是由n(n≥0)個結點組成的有限集合。在這其中有兩種特殊的二叉樹,滿二叉樹和完全二叉樹。同時二叉樹具有如下五個性質:(1)、在二叉樹的第i層上至多有2(i-1)個結點(i>0)(2)、深度為k的二叉樹至多有2(k)-1個結點(k>0)(3)、對任意一棵非空二叉樹,若果其葉子結點數為n0,度為2的結點數為n2,則n0=n2+1(4)、有n個結點的完全二叉樹(n>0)的高度為∟log2n」+1(5)、若對滿二叉樹或完全二叉樹按照“從上到下,每層從左到右,根結點編號為1”的方式編號,則編號為i的結點,它的兩個孩子結點編號分別為2i和2i+1,它的父節點編號為i/2。

其次是二叉樹的存儲結構分為順序存儲和鏈接存儲。順序存儲是按在完全二叉樹中的編號順序,依次存儲在一維數組中。這樣的存儲方式可以很方便地找到任一結點的父結點及左右孩子,但對于一般的二叉樹會造成很大的空間浪費,且在插入或刪除結點時需大量移動節點,不利于運算的實現。那么就引出了二叉樹的鏈接存儲,每個結點包括三個域,lchild指針域:記錄該結點左孩子的地址、rchild指針域:記錄該結點右孩子的地址、data域:存儲該結點的信息。

接下來是二叉樹的遍歷及線索化,不僅要能對二叉樹進行遍歷、線索化操作,而且還要能夠根據給出的遍歷結果構造出二叉樹。最后是二叉樹的應用,例如哈夫曼樹:為數據壓縮提供了一種方法、二叉排序樹:即中序遍歷的結果是遞增的有序序列。

第八章:樹和森林及其應用

首先是關于樹和森林的有關概念及存儲結構;樹或森林與二叉樹之間有一個自然地一一對應關系,任何一個森林或一棵樹可以唯一地對應到一棵二叉樹;反之,任何一棵二叉樹也能唯一地對應到一個森林或一棵樹。在這里,要會如何將樹或森林轉換成二叉樹、二叉樹轉換成樹或森林。對于樹的順序存儲結構:雙親表示法,鏈接存儲結構:(1)、孩子表示法(2)、孩子兄弟表示法,只需了解。

其次是樹和森林的遍歷,要知道樹只有先序遍歷和后序遍歷、森林只有先序遍歷和中序遍歷,且(1)、樹的先序遍歷與二叉樹的先序遍歷相同(2)、樹的后序遍歷與二叉樹的中序遍歷相同(3)、森林的先序遍歷和中序遍歷分別與二叉樹的先序遍歷和中序遍歷結果相同。

最后是樹的一個典型應用——b樹,它是一種平衡的多路查找樹,學習是根據實例走一遍算法,理解算法即可。第九章:散列結構及其應用

散列結構是以存儲結點中的關鍵字作為自變量,通過確定的函數h(即散列函數或哈希函數)進行計算,把所求的函數值作為地址存儲該結點。

首先是散列函數有:(1)、直接定址法(2)、除留余數法(3)、數字分析法(4)、平方取中法(5)、折疊法

其次是沖突處理,由于散列函數很可能將不同的關鍵字計算出相同的散列地址,所以就需要為發生沖突的關鍵字結點找到一個“空”的散列地址。沖突處理的方法有

1、開放定址法:hi=(h(key)+di)mod m,i=1,2,3,?,k(k≤m-1)例如(1)、線性探測再散列,取di=1,2,3,?,m-1(2)、二次探測再散列,取di=1(2),-1(2),2(2),-2(2),?(3)、偽隨機探測再散列,取di=偽隨機數;

2、鏈地址法:在散列表的每一個存儲單元中增加一個指針域,把產生沖突的關鍵字以鏈表結構存放在指針指向的單元中。第十章:圖及其應用 首先是圖的有關概念;圖是一種數據結構,可以用二元組表示,形式化定義為:graph(v,vr),其中v={x|x∈dataobject},r={vr},vr={<x,y> p(x,y)∧(x,y∈v)}。頂點的度、入度和出度,以頂點v為頭的弧的數目稱為v的入度,以頂點v為尾的弧的數目稱為v的出度,而出度與入度之和即為頂點v的度。

其次是圖的存儲結構;(1)、鄰接矩陣(2)、鄰接表

最后的圖遍歷和圖的典型應用;對于遍歷圖的深度優先算法或廣度優先算法、最小生成樹的普利姆算法或克魯斯卡爾算法、最短路徑的迪杰特斯拉算法和弗洛伊德算法以及有向無環圖拓撲排序算法,都需要根據實例走一遍算法,從而掌握這些算法。

心得體會

最開始學習這門課時,我對它沒有很深刻的認識,只是聽說這門課比較難。學習起來會比較累。通過這一學期的學習也確實證實了這一點。在學習這門課的過程中自己也確實遇到了一些問題,主要是書本上的知識與老師的講解都比較容易理解,但是當自己利用已學的知識編寫程序時就感到非常的棘手,很多時候都是把大概的算法思想想出來后,又把書本上的程序抄寫一遍來完成程序的編寫。針對這一問題以后自己會盡量學習擺脫掉書本,自己慢慢學會獨立編寫程序。

結語

通過對數據結構與算法的整理和實際應用,我深刻了解到數據結構與算法的重要性,同時也加深了對它的認識和了解,了解到了數據結構與算法在生活、工作等生活各個方面的重要性和不可缺少性。我通過整理數據結構與算法的學習而獲得的極大收獲。我相信這次的學習會對我以后的學習和工作產生非常大的影響力。

參考文獻

《數據結構與算法》(第二版)王昆侖

李紅 主編

數據結構推薦書目 數據結構筆記整理篇四

《數據結構與算法》課程學習總結報告

本學期開設的《數據結構與算法》課程已經告一段落,現就其知識點及其掌握情況、學習體會以及對該門課程的教學建議等方面進行學習總結。

一、《數據結構與算法》知識點

第一章是這門學科的基礎章節,從整體方面介紹了“數據結構和算法”,同時引入相關的學術概念和術語,如數據、數據元素、數據類型以及數據結構的定義。重點是數據結構的括邏輯結構、存儲結構和運算集合的含義及其相互聯系。數據結構和兩大邏輯結構的4四種常用存儲方法;邏輯結構分為四類:集合型、線性、樹形和圖形結構,數據元素的存儲結構分為:順序存儲、鏈接存儲、索引存儲和散列存儲四類。難點是算法復雜度的分析方法和性能的分析。

第二章詳細地分析了順序表。介紹了順序表的相關概念及其有關運算。基本運算有:初始化表、求表長、排序、元素的查找、插入及刪除等。元素查找方法有:簡單順序查找、二分查找和分塊查找。排序方法有:直接插入排序、希爾排序、冒泡排序、快速排序、直接選擇排序及歸并排序等,在各種算法思想的先分析后,要弄清各種算法的時間復雜度與空間性能的優點和缺點,在什么特定的場合適合哪種算法思想。最后介紹了順序串的概念,順序串是順序表的一個特例;區別在于組成順序串的數據元素是一組字符,其重點在于串的模式匹配。

第三章介紹鏈表。鏈表中數據元素的存儲不一定是連續的,還可以占用任意的、不連續的物理存儲區域。與順序表相比,鏈表的插入、刪除不需要移動元素,給算法的效率帶來較大的提高,且在存儲空間上有動態申請的優點。這一章中介紹了鏈表的節點結構、靜態與動態鏈表的概念、鏈表的基本運算(如求表長、插入、查找、刪除等)、單鏈表的建立(頭插法和尾插法)以及雙向循環鏈表的定義、結構、功能和基本算法。弄清其個運算的算法思想及其時間復雜度和空間性能。最后介紹了鏈表之中存儲結構在實際中的相關應用。

第四章,堆棧是運算受限制的線性結構。其基本運算方法與順序表和鏈表運算方法基本相同,不同的是堆棧須遵循“先進后出”的規則,對堆棧的操作只能在棧頂進行;堆棧在文字處理,匹配問題和算術表達式的求值問題方面的應用。

第五章,隊列是一種夠類似堆棧的線性結構。其基本運算方法與順序表和鏈表運算方法基本相同,不同的是堆棧須遵循“先進先出”的規則,對堆棧的操作只能在棧頂進行;其運算有入隊、出隊等操作。在介紹隊列時,提出了循環隊列的概念,以避免“假溢出”的現象。

第六章介紹了特殊矩陣和廣義表的概念與應用。其中,特殊矩陣包括對稱矩陣、三角矩陣、對角矩陣和稀疏矩陣,書中分別詳細介紹了它們的存儲結構。其中三元組和十字鏈表這兩種結構尤為重要;對著兩種結構的建立了應用要掌握。稀疏矩陣的應用包括轉置和加法運算等。最后介紹了廣義表的相關概念及存儲結構,關于它的應用,課本中舉了m元多項式的表示問題。

第七章二叉樹的知識是重點內容。在介紹有關概念時,提到了二叉樹的性質以及兩種特殊的二叉樹:完全二叉樹和滿二叉樹。接著介紹二叉樹的順序存儲和鏈接存儲以及生成算法。重點介紹二叉樹的遍歷算法(遞歸算法、先序、中序和后序遍歷非遞歸算法)和線索二叉樹。二叉樹的應用:基本算法、哈弗曼樹、二叉排序樹和堆排序,其中關于二叉排序樹和哈弗曼書的構建是重點。

第八章介紹了樹。樹與二叉樹是不同的概念。教材介紹了樹和森林的概念、遍歷和存儲結構,還有樹、森林和二叉樹的相互關系,樹或森林怎樣轉化成二叉樹,二叉樹又如何轉換為樹和森林等算法。

第九章,散列結構是一種查找效率很高的一種數據結構。本章的主要知識點有:散列結

構的概念及其存儲結構、散列函數、兩種沖突處理方法、線性探測散列和鏈地址散列的基本算法以及散列結構的查找性能分析。

最后一章介紹了圖的概念及其應用,是本書的難點。圖的存儲結構的知識點有:鄰接矩陣、鄰接表、逆鄰接表、十字鏈表和鄰接多重表。圖的遍歷包括圖的深度優先搜索遍歷和廣度優先搜索遍歷。其余知識點有:有向圖、連通圖、生成樹和森林、最短路徑問題和有向無環圖及其應用。有向無環圖重點理解aov網和拓撲排序及其算法。

二、對各知識點的掌握情況

總體來看,對教材中的知識點理解較為完善,但各個章節均出現有個別知識點較為陌生的現象,對某些具體的問題和應用仍有一些模糊與措手。各個章節出現的知識點理解和掌握情況明確一下。

第一章中我對數據和數據結構的概念理解較為透徹,熟悉數據結構的邏輯結構和存儲結構。算法的時間、空間性能分析是重點,同樣也是難點,尤其是空間性能分析需要加強。在某些強大與復雜的算法面前的處理有些棘手。

第二章,順序表的概念、生成算法理解較為清晰,并且熟悉簡單順序查找和二分查找,對分塊查找較為含糊。刪除方面的問題比較容易些。排序問題中,由于冒泡排序在大一c語言課上已經學習過,再來學習感覺相對輕松些。對插入排序和選擇排序理解良好,但是,在實際運用中仍然出現明顯不熟練的現象。由于在歸并排序學習中感覺較吃力,現在對這種排序方法仍然非常模糊,所以需要花較多的時間來補習。此外串的模式匹配也是較難理解的一個地方。

第三章鏈表中,除對雙向循環鏈表這一知識點理解困難之外,在對鏈表進行插入刪除和排序相關操作上同順序表的操作基本相當。其他的知識點像單鏈表的建立和基本算法等都較為熟悉。

第四章和第五章有關堆棧以及隊列的知識點比較少,除有關算法較為特殊以外,其余算法都是先前學過的順序表和鏈表的知識,加上思想上較為重視,因此這部分內容是我對全書掌握最好的一部分。在一些實際問題的應用與處理方面,對其進行存儲結構的選擇還是需要認真考慮的。在算法的時間復雜度和空間性能的分析仍有些困難。

第六章的學習感覺較為困難的部分在于矩陣的應用上。在矩陣的存儲結構中,使用三元組表發相對較為簡單,而使用十字鏈表就有些困難了。但在某些問題的處理上又必須或從節省空間考慮采用十字鏈表來處理,想矩陣的加法運算。廣義表的定義還是比較容易理解的,其存儲結構也不難掌握,關于應用也只局限于在多項式的表示上。

第七章是全書的重點。在這一章中概念和定義都很多,有些很昏人但都很重要,要區分開來。二叉樹的性質容易懂卻很難記憶。對二叉樹的存儲結構和遍歷算法這部分內容掌握較好,能夠熟練運用。關于二叉排序樹和的哈弗曼樹卻相對有些壓力,其生成和對其關鍵字的插入和刪除時重點。

第八章關于樹的分析,首先要明確樹和二叉樹的區別,以及書中的相關定義和概念。關于二叉樹、樹和森林之間的轉換和遍歷方法是重點,但不算是難。接著就是數的存儲結構的選擇及轉化為二叉樹的算法,這部分有些吃力。再就介紹了特殊的樹-b樹,關于對b樹的操作,插入關鍵字是中帶領和難點。

第九章散列結構這一章理解比較完善的知識點有:基本概念和存儲結構。散列函數中直接定址法和除留余數法學得比較扎實,對數字分析法等方法則感覺較為陌生。對兩種沖突處理的算法思想的理解良好,問題在于用c語言描述上。

最后一章,圖及其應用中,相關定義及其概念很多,容易混淆,這就要慢慢來,仔細分辨。圖的鄰接矩陣、鄰接表表示法及其之間的轉換時重點和難點。而對十字鏈表和鄰接多重表的表示法則較為陌生。感覺理解較為吃力的內容有圖的遍歷(包括深度和廣度優先遍歷),以及最小生成樹的問題。最短路徑、aov網、關鍵路徑、aoe網和拓撲排序的學習也是相對較輕松的。,三、學習體會

在學習開始,王教授就明確提出它不是一種計算機語言,不會介紹新的關鍵詞,而是通過學習可以設計出良好的算法,高效地組織數據。一個程序無論采用何種語言,其基本算法思想不會改變。聯系到在大一和大二上學期學習的c和c++語言,我深刻認識到了這一點。“軟件開發好比寫作文,計算機語言提供了許多華麗的辭藻,而數據結構則考慮如何將這些辭藻組織成一篇優秀的文章來。”在學習這門課中,要熟悉對算法思想的一些描述手段,包括文字描述、圖形描述和計算機語言描述等。因此,計算機語言基礎是必須的,因為它提供了一種重要的算法思想描述手段——機器可識別的描述。

這門課結束之后,我總結了學習中遇到的一些問題,最為突出的,書本上的知識與老師的講解都比較容易理解,但是當自己采用剛學的知識點編寫程序時卻感到十分棘手,有時表現在想不到適合題意的算法,有時表現在算法想出來后,只能將書本上原有的程序段謄寫到自己的程序中再加以必要的連接以完成程序的編寫。針對這一情況,我會嚴格要求自己,熟練掌握算法思想,盡量獨立完成程序的編寫與修改工作,只有這樣,才能夠提高運用知識,解決問題的能力。

四、對《數據結構與算法》課程教學的建議

1、建議在上課過程中加大隨堂練習的分量,以便學生能當堂消化課堂上學習的知識,也便于及時了解學生對知識點的掌握情況,同時有助于學生保持良好的精神狀態。

2、建議在課時允許的情況下,增加習題課的分量,通過課堂的習題講解,加深對知識點的掌握,同時對各知識點的運用有一個更為直觀和具體的認識。

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

【本文地址:http://www.zsatt.com/zuowen/1088639.html】

全文閱讀已結束,如果需要下載本文請點擊

下載此文檔
主站蜘蛛池模板: 广南县| 寻甸| 台山市| 苍山县| 安庆市| 寿阳县| 新兴县| 龙山县| 许昌县| 肥乡县| 湾仔区| 宁明县| 舒兰市| 六盘水市| 从江县| 邓州市| 青川县| 无为县| 镇宁| 灵川县| 勐海县| 惠东县| 蒙山县| 车致| 普兰店市| 海丰县| 平度市| 孝义市| 彰化市| 文山县| 邛崃市| 壤塘县| 甘南县| 平利县| 乌兰察布市| 崇阳县| 于都县| 咸宁市| 抚顺市| 双鸭山市| 顺义区|