每個(gè)人都曾試圖在平淡的學(xué)習(xí)、工作和生活中寫(xiě)一篇文章。寫(xiě)作是培養(yǎng)人的觀察、聯(lián)想、想象、思維和記憶的重要手段。范文怎么寫(xiě)才能發(fā)揮它最大的作用呢?下面是小編幫大家整理的優(yōu)質(zhì)范文,僅供參考,大家一起來(lái)看看吧。
數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)教學(xué)大綱 數(shù)據(jù)結(jié)構(gòu)課程大綱篇一
《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)大綱
第一部分 大綱說(shuō)明
一、課程的性質(zhì)和任務(wù)
《數(shù)據(jù)結(jié)構(gòu)》是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科生的一門必修課程。本課程介紹如何組織各種數(shù)據(jù)在計(jì)算機(jī)中的存儲(chǔ)、傳遞和轉(zhuǎn)換。內(nèi)容包括:數(shù)組、鏈接表、棧和隊(duì)列、遞歸、樹(shù)與森林、圖、堆與優(yōu)先級(jí)隊(duì)列、集合與搜索結(jié)構(gòu)、排序、索引與散列結(jié)構(gòu)等。課程采用面向?qū)ο蟮挠^點(diǎn)討論數(shù)據(jù)結(jié)構(gòu)技術(shù),并以兼有面向過(guò)程和面向?qū)ο箅p重特色的c++語(yǔ)言作為算法的描述工具,強(qiáng)化數(shù)據(jù)結(jié)構(gòu)基本知識(shí)和面向?qū)ο蟪绦蛟O(shè)計(jì)基本能力的雙基訓(xùn)練。為后續(xù)計(jì)算機(jī)專業(yè)課程的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。
二、先修課要求
面向?qū)ο蟪绦蛟O(shè)計(jì)、計(jì)算機(jī)數(shù)學(xué)(離散數(shù)學(xué))。
三、課程的教學(xué)基本要求
1、掌握重要數(shù)據(jù)結(jié)構(gòu)的概念、使用方法及實(shí)現(xiàn)技術(shù);
2、學(xué)會(huì)做簡(jiǎn)單的算法分析,包括算法的時(shí)間代價(jià)和空間代價(jià)。
四、教學(xué)方法和教學(xué)形式建議
電視授課為主,結(jié)合面授輔導(dǎo)、面授或電子郵件答疑,進(jìn)行必要的上機(jī)實(shí)驗(yàn)。
五、課程教學(xué)要求的層次
1、熟練掌握:要求學(xué)生能夠全面、深入理解和熟練掌握所學(xué)內(nèi)容,并能夠用其知識(shí)分析、設(shè)計(jì)和解答相關(guān)的應(yīng)用問(wèn)題。
2、掌握:要求學(xué)生能夠較好地理解和掌握,并且能夠做簡(jiǎn)單的分析。
3、了解:要求學(xué)生能夠一般地了解的所學(xué)內(nèi)容。
六、課程實(shí)驗(yàn)
實(shí)驗(yàn)內(nèi)容和要求由省級(jí)電大作出具體規(guī)定,從2004年春開(kāi)始按該課程實(shí)驗(yàn)教材規(guī)定進(jìn)行。
第二部分 多種媒體教材一體化總體設(shè)計(jì)初步方案
一、學(xué)時(shí)分配
課程教學(xué)總學(xué)時(shí)數(shù)為 72學(xué)時(shí),4學(xué)分,其中講授學(xué)時(shí)48,實(shí)驗(yàn)24
教 學(xué) 內(nèi) 容
講授學(xué)時(shí)
實(shí)驗(yàn)學(xué)時(shí)
一、數(shù)據(jù)結(jié)構(gòu)基本概念及算法分析
3學(xué)時(shí)
2學(xué)時(shí)
二、數(shù)組
3學(xué)時(shí)
2學(xué)時(shí)
三、鏈表
3學(xué)時(shí)
3學(xué)時(shí)
四、棧和隊(duì)列
3學(xué)時(shí)
2學(xué)時(shí)
五、遞歸
3學(xué)時(shí)
2學(xué)時(shí)
六、樹(shù)與森林
9學(xué)時(shí)
4學(xué)時(shí)
七、集合與搜索
5學(xué)時(shí)
2學(xué)時(shí)
八、圖
7學(xué)時(shí)
4學(xué)時(shí)
九、排序
7學(xué)時(shí)
3學(xué)時(shí)
十、索引與散列結(jié)構(gòu)
5學(xué)時(shí)
二、教學(xué)環(huán)節(jié)
1、電視教學(xué)
本課程是計(jì)算機(jī)專業(yè)基礎(chǔ)課,內(nèi)容多且?guī)в幸欢ǖ某橄笮裕瑢W(xué)習(xí)起來(lái)有一定難度。為保證教學(xué)效果,采取電視集中授課方式。聘請(qǐng)有經(jīng)驗(yàn)的教師擔(dān)任主講教師,盡可能利用多種媒體進(jìn)行教學(xué),使學(xué)生能夠很快掌握課程的主要知識(shí)和解決問(wèn)題的方法。
2、面授輔導(dǎo)或答疑
本課程教學(xué)過(guò)程中,面授輔導(dǎo)和答疑是必不可少的教學(xué)環(huán)節(jié)。各地方電大應(yīng)聘請(qǐng)有經(jīng)驗(yàn)、認(rèn)真負(fù)責(zé)的教師任教,以習(xí)題課、專題討論或答疑的方式,對(duì)課程中的重要概念和典型問(wèn)題的解決方法進(jìn)行總結(jié)和深入討論,鞏固和加深課堂內(nèi)學(xué)到的知識(shí)。面授輔導(dǎo)或答疑安排兩周一次為宜。必要時(shí)可采用電子郵件方式直接與主講教師聯(lián)系進(jìn)行答疑。
3、自學(xué)與練習(xí)
自學(xué)是獲取知識(shí)的重要手段。教師講課只是起到拋磚引玉的作用,關(guān)鍵還在于學(xué)生的自學(xué)。為達(dá)到自學(xué)的效果,除讀懂教科書(shū)中所講內(nèi)容外,還需大量做題。其目的是要通過(guò)做題弄懂、加深對(duì)概念的理解,提高程序設(shè)計(jì),解決問(wèn)題的能力。為此,安排一定的實(shí)驗(yàn)上機(jī)學(xué)時(shí)。要求學(xué)生珍惜實(shí)驗(yàn)機(jī)時(shí),真正做到學(xué)有所獲。
學(xué)生在上機(jī)做實(shí)驗(yàn)前,應(yīng)事先將程序、調(diào)試數(shù)據(jù)、上機(jī)操作順序準(zhǔn)備好,并提前使用這些調(diào)試數(shù)據(jù)人工執(zhí)行過(guò)。目的是提高上機(jī)的效率和成功率,嚴(yán)禁抄襲或拷貝他人的成果,自覺(jué)培養(yǎng)科學(xué)、嚴(yán)謹(jǐn)?shù)淖黠L(fēng)。
除學(xué)校提供的時(shí)間外,要求課外學(xué)生利用自己可能擁有的計(jì)算機(jī)條件,完成更多的練習(xí),不通過(guò)大量的實(shí)踐,能力和知識(shí)水平得不到有效得提高。
4、考試
考試是對(duì)學(xué)生掌握知識(shí)水平的檢驗(yàn)。本著多練多考的原則,各地方電大可以再平時(shí)多做一些小考。要求考試內(nèi)容緊扣大綱要求,既要能夠檢驗(yàn)學(xué)生的掌握情況,又要體現(xiàn)水平。因此,不要出難題、怪題,但也不要過(guò)于簡(jiǎn)單,適當(dāng)有一些編程題。
課程考試具體規(guī)定請(qǐng)參看該課程考核說(shuō)明。
第三部分 教學(xué)內(nèi)容和教學(xué)要求
一、數(shù)據(jù)結(jié)構(gòu)基本概念及簡(jiǎn)單的算法分析 3學(xué)時(shí)
1、教學(xué)內(nèi)容:
什么是數(shù)據(jù)結(jié)構(gòu)
抽象數(shù)據(jù)類型及面向?qū)ο蟾拍睿簲?shù)據(jù)類型;數(shù)據(jù)抽象與抽象數(shù)據(jù)類型;面向?qū)ο蟮母拍睿挥糜诿枋鰯?shù)據(jù)結(jié)構(gòu)的語(yǔ)言
數(shù)據(jù)結(jié)構(gòu)的抽象層次
算法定義
性能分析與度量:算法的性能標(biāo)準(zhǔn);算法的后期測(cè)試;算法的事前估計(jì);空間復(fù)雜度度量;時(shí)間復(fù)雜度度量;時(shí)間復(fù)雜度的漸進(jìn)表示法;漸進(jìn)的空間復(fù)雜度
2、教學(xué)要求:
了解:什么是數(shù)據(jù)、數(shù)據(jù)對(duì)象、數(shù)據(jù)元素、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)、邏輯結(jié)構(gòu)與物理結(jié)構(gòu)間的關(guān)系
了解:什么是數(shù)據(jù)類型、抽象數(shù)據(jù)類型、數(shù)據(jù)抽象和信息隱蔽原則。了解什么是面向?qū)ο?/p>
了解:算法的定義、算法的特性、算法的時(shí)間代價(jià)、算法的空間代價(jià)
掌握:用c++語(yǔ)言描述算法的方法,能夠使用c++語(yǔ)言編寫(xiě)程序
二、數(shù)組 3學(xué)時(shí)
1、教學(xué)內(nèi)容:
作為抽象數(shù)據(jù)類型的數(shù)組:數(shù)組的定義和初始化;作為抽象數(shù)據(jù)類型的數(shù)組;數(shù)組的順序存儲(chǔ)方式
順序表:順序表的定義和特點(diǎn);順序表的類定義;順序表的查找、插入和刪除;使用順序表的事例
字符串:字符串的抽象數(shù)據(jù)類型;字符串操作的實(shí)現(xiàn);字符串的模式匹配
2、教學(xué)要求:
了解:線性表的邏輯結(jié)構(gòu)特性,以及線性表的兩種存儲(chǔ)實(shí)現(xiàn)方式
了解:作為抽象數(shù)據(jù)類型的數(shù)組的定義,數(shù)組的按行順序存儲(chǔ)與按列順序存儲(chǔ)
熟練掌握:順序表的定義與實(shí)現(xiàn),包括搜索、插入、刪除算法的實(shí)現(xiàn)及其平均比較次數(shù)的計(jì)算,掌握應(yīng)用順序表作為集合的簡(jiǎn)單操作
了解:稀疏矩陣的定義及其數(shù)組實(shí)現(xiàn)
熟練掌握:字符串的定義及實(shí)現(xiàn)
三、鏈表 3學(xué)時(shí)
1、教學(xué)內(nèi)容:
單鏈表:?jiǎn)捂湵淼慕Y(jié)構(gòu);單鏈表的類定義;單鏈表中的插入與刪除;帶表頭結(jié)點(diǎn)的單鏈表;用模板定義的單鏈表類;靜態(tài)鏈表
循環(huán)鏈表:循環(huán)鏈表的類定義;用循環(huán)鏈表解約瑟夫問(wèn)題;
多項(xiàng)式及其相加:多項(xiàng)式的類定義;多項(xiàng)式的加法
雙向鏈表
2、教學(xué)要求:
了解:鏈表與數(shù)組一樣,是一種實(shí)現(xiàn)級(jí)結(jié)構(gòu)。有動(dòng)態(tài)鏈表和靜態(tài)鏈表之分
了解:鏈表有單鏈表、循環(huán)單鏈表、雙向鏈表之分
了解:?jiǎn)捂湵淼慕Y(jié)構(gòu)、特點(diǎn)
掌握:?jiǎn)捂湵淼念惗x、構(gòu)造函數(shù)、單鏈表的插入與刪除算法
了解:帶表頭結(jié)點(diǎn)的單鏈表的優(yōu)點(diǎn)和類定義及相應(yīng)操作的實(shí)現(xiàn)
熟練掌握:用模板定義的單鏈表類
了解:循環(huán)鏈表的特點(diǎn),循環(huán)鏈表的類定義,以及用循環(huán)鏈表解決問(wèn)題的方法
掌握:雙向鏈表的特點(diǎn),雙向鏈表的類定義及相關(guān)操作的實(shí)現(xiàn),用雙向鏈表解決問(wèn)題的方法。
四、棧和隊(duì)列 3學(xué)時(shí)
1、教學(xué)內(nèi)容:
棧:棧的抽象數(shù)據(jù)類型;棧的順序存儲(chǔ)表示;棧的鏈接存儲(chǔ)表示
表達(dá)式求值:中綴表達(dá)式求值;中綴表示到后綴表示的轉(zhuǎn)換
隊(duì)列 :隊(duì)列的抽象數(shù)據(jù)類型;隊(duì)列的順序存儲(chǔ)表示;隊(duì)列的鏈接存儲(chǔ)表示;隊(duì)列的應(yīng)用舉例
優(yōu)先級(jí)隊(duì)列:優(yōu)先級(jí)隊(duì)列的定義;優(yōu)先級(jí)隊(duì)列的存儲(chǔ)表示
2、教學(xué)要求:
熟練掌握:棧的定義、特性和棧的抽象數(shù)據(jù)類型,棧的順序表示、鏈表表示以及相應(yīng)操作的實(shí)現(xiàn)。特別注意??蘸蜅M的條件
了解:在表達(dá)式計(jì)算時(shí)棧是如何使用的,重點(diǎn)了解用后綴表示計(jì)算表達(dá)式及中綴表示改后綴表示的方法和算法思路
熟練掌握:隊(duì)列的定義、特性和隊(duì)列的抽象數(shù)據(jù)類型,隊(duì)列的順序表示、鏈表表示以及相應(yīng)操作的實(shí)現(xiàn)。特別是循環(huán)隊(duì)列中隊(duì)頭與隊(duì)尾指針的變化情況
掌握:優(yōu)先級(jí)隊(duì)列的定義、特性和優(yōu)先級(jí)隊(duì)列的抽象數(shù)據(jù)類型,優(yōu)先級(jí)隊(duì)列的插入與刪除算法
五、遞歸 3學(xué)時(shí)
1、教學(xué)內(nèi)容:
遞歸的概念:遞歸問(wèn)題的求解
遞歸過(guò)程與遞歸工作棧:?jiǎn)蜗蜻f歸和尾遞歸的迭代實(shí)現(xiàn);一般遞歸問(wèn)題利用棧實(shí)現(xiàn)非遞歸解法
廣義表:廣義表的概念;廣義表的表示及操作;廣義表存儲(chǔ)結(jié)構(gòu)的實(shí)現(xiàn);廣義表的訪問(wèn)算法;廣義表的遞歸算法
2、教學(xué)要求:
掌握:遞歸的概念。包括什么是遞歸,有那些種類的遞歸,遞歸問(wèn)題的遞歸求解方法
掌握:遞歸過(guò)程的機(jī)制與利用遞歸工作棧實(shí)現(xiàn)遞歸的方法
了解:迷宮問(wèn)題的遞歸求解思路及如何利用棧實(shí)現(xiàn)迷宮問(wèn)題的非遞歸解法
掌握:利用遞歸解決問(wèn)題的分治法和回溯法
掌握:廣義表的定義及其實(shí)現(xiàn)方法
掌握:廣義表的遞歸算法
六、樹(shù)與森林 9學(xué)時(shí)
1、教學(xué)內(nèi)容:
樹(shù)和森林的概念:樹(shù)的定義;樹(shù)的術(shù)語(yǔ);樹(shù)的抽象數(shù)據(jù)類型
二叉樹(shù):二叉樹(shù)的定義;二叉樹(shù)的性質(zhì);二叉樹(shù)的抽象數(shù)據(jù)類型
二叉樹(shù)的表示:順序表示;二叉鏈表表示
遍歷二叉樹(shù):中序遍歷;前序遍歷;后序遍歷;應(yīng)用二叉樹(shù)遍歷的事例;二叉樹(shù)的計(jì)數(shù)
線索化二叉樹(shù):線索;中序線索化二叉樹(shù)
堆:堆的定義;堆的建立;堆的插入與刪除;堆的調(diào)整算法
樹(shù)與森林:樹(shù)的存儲(chǔ)表示;森林與二叉樹(shù)的轉(zhuǎn)換;遍歷樹(shù);遍歷森林
霍夫曼樹(shù):路徑長(zhǎng)度;霍夫曼樹(shù);霍夫曼編碼
2、教學(xué)要求:
了解:樹(shù)和森林的概念。包括樹(shù)的定義、樹(shù)的術(shù)語(yǔ)、樹(shù)的抽象數(shù)據(jù)類型
掌握:二叉樹(shù)的概念、性質(zhì)及二叉樹(shù)的表示
熟練掌握:二叉樹(shù)的遍歷方法
掌握:線索化二叉樹(shù)的特性及尋找某結(jié)點(diǎn)的前驅(qū)和后繼的方法
熟練掌握:堆的定義,堆的建立、堆的插入與刪除、堆的向上和向下調(diào)整等算法以及用來(lái)實(shí)現(xiàn)優(yōu)先級(jí)隊(duì)列的方法
掌握:樹(shù)與森林的實(shí)現(xiàn),重點(diǎn)在用二叉樹(shù)實(shí)現(xiàn)
掌握:森林與二叉樹(shù)的轉(zhuǎn)換;樹(shù)的遍歷算法
掌握:二叉樹(shù)的計(jì)數(shù)方法及從二叉樹(shù)遍歷結(jié)果得到二叉樹(shù)的方法
掌握:霍夫曼樹(shù)的實(shí)現(xiàn)方法、構(gòu)造霍夫曼編碼的方法及帶權(quán)路徑長(zhǎng)度的計(jì)算
七、集合與搜索 5學(xué)時(shí)
1、教學(xué)內(nèi)容:
集合及其表示:集合基本概念;以集合為基礎(chǔ)的抽象數(shù)據(jù)類型;用位向量實(shí)現(xiàn)集合抽象據(jù)類型;用有序鏈表實(shí)現(xiàn)集合的抽象數(shù)據(jù)類型
并查集:并查集的定義;并查集的實(shí)現(xiàn)
簡(jiǎn)單的搜索結(jié)構(gòu):搜索的概念;靜態(tài)搜索結(jié)構(gòu);順序搜索;基于有序順序表的順序搜索和折半搜索
二叉搜索樹(shù):二叉搜索樹(shù)的定義;二叉搜索樹(shù)上的搜索;二叉搜索樹(shù)的插入;二叉搜索樹(shù)的刪除
avl樹(shù):avl樹(shù)定義;平衡化旋轉(zhuǎn);avl樹(shù)的插入和刪除;avl樹(shù)高度
2、教學(xué)要求:
掌握:集合的基本概念及其表示方法,包括位數(shù)組及有序鏈表的表示及其相關(guān)操作的實(shí)現(xiàn)算法
掌握:利用并查集實(shí)現(xiàn)集合的方法
熟練掌握:靜態(tài)搜索表的順序搜索和折半搜索算法及其性能分析方法
熟練掌握:二叉搜索樹(shù)的表示、搜索、插入、刪除算法及其性能分析方法
掌握:avl樹(shù)的平衡化旋轉(zhuǎn)、構(gòu)造、插入、刪除時(shí)的調(diào)整方法及其性能分析
八、圖 7學(xué)時(shí)
1、教學(xué)內(nèi)容:
圖的基本概念:圖的基本概念;圖的抽象數(shù)據(jù)類型
圖的存儲(chǔ)表示:鄰接矩陣;鄰接表;鄰接多重表
圖的遍歷與連通性:深度優(yōu)先搜索;廣度優(yōu)先搜索;連通分量;關(guān)節(jié)點(diǎn)與重連通分量
最小生成樹(shù):kruskul算法;prim算法
單源最短路徑問(wèn)題:dijkstra算法
活動(dòng)網(wǎng)絡(luò):aov網(wǎng)絡(luò)與拓?fù)渑判颍籥oe網(wǎng)絡(luò)與關(guān)鍵路徑
2、教學(xué)要求:
理解:圖的基本概念和圖的抽象數(shù)據(jù)類型
掌握:圖的3種存儲(chǔ)表示:鄰接矩陣、鄰接表和鄰接多重表。對(duì)于前兩種,要求掌握典型操作,如構(gòu)造、求根、找第一個(gè)鄰接頂點(diǎn)、找下一個(gè)鄰接頂點(diǎn)等操作的實(shí)現(xiàn)算法
熟練掌握:圖的兩種遍歷算法與求解連通性問(wèn)題的方法。包括深度優(yōu)先搜索和廣度優(yōu)先搜索算法、求連通分量的方法(不要求算法)
理解:求解關(guān)節(jié)點(diǎn)及構(gòu)造重連通圖的方法(不要求算法)
掌握:構(gòu)造最小生成樹(shù)的prim算法和kruskal算法,要求理解算法
理解:如何用dijkstra方法求解單源最短路徑問(wèn)題(不要求算法)
熟練掌握:活動(dòng)網(wǎng)絡(luò)的拓?fù)渑判蛩惴?/p>
掌握:求解關(guān)鍵路徑的方法
九、排序 7學(xué)時(shí)
1、教學(xué)內(nèi)容:
概述
插入排序:直接插入排序;折半插入排序;鏈表插入排序;希爾排序
交換排序:起泡排序;快速排序
選擇排序:直接選擇排序;錦標(biāo)賽排序;堆排序
歸并排序:歸并;迭代的歸并排序算法;遞歸的鏈表歸并排序
基數(shù)排序:多關(guān)鍵碼排序;鏈?zhǔn)交鶖?shù)排序
外排序:外排序的基本過(guò)程;k路平衡歸并;初始?xì)w并段的生成;最佳歸并樹(shù)
2、教學(xué)要求:
掌握:排序的基本概念和性能分析方法
掌握:插入排序、交換排序、選擇排序、歸并排序等內(nèi)排序的方法及其性能分析方法
了解:基數(shù)排序方法及其性能分析方法
掌握:多路平衡歸并等外排序方法及敗者樹(shù)構(gòu)造方法
掌握:生成初始?xì)w并段及敗者樹(shù)構(gòu)造方法
掌握:最佳歸并樹(shù)的建立方法
十、索引與散列結(jié)構(gòu) 5學(xué)時(shí)
1、教學(xué)內(nèi)容:
靜態(tài)索引結(jié)構(gòu):線性索引;倒排索引;m路靜態(tài)查找樹(shù)
動(dòng)態(tài)索引結(jié)構(gòu):動(dòng)態(tài)的m路查找樹(shù);b樹(shù)的定義;b樹(shù)的插入;b樹(shù)的刪除;b+樹(shù)
散列:散列表與散列方法;散列函數(shù);處理溢出的閉散列方法;處理溢出的開(kāi)散列方法;散列表分析
2、教學(xué)要求:
熟練掌握:靜態(tài)索引結(jié)構(gòu),包括線性索引、倒排索引、靜態(tài)索引樹(shù)的搜索和構(gòu)造方法
熟練掌握:動(dòng)態(tài)索引結(jié)構(gòu),包括b樹(shù)、b+樹(shù)的搜索和構(gòu)造方法
熟練掌握:散列法,包括散列函數(shù)的構(gòu)造、解決沖突的方法
數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)教學(xué)大綱 數(shù)據(jù)結(jié)構(gòu)課程大綱篇二
數(shù)據(jù)結(jié)構(gòu) data structure 課程代碼:
學(xué) 時(shí) 數(shù):64(講課50 實(shí)驗(yàn)14 研討0 實(shí)習(xí)實(shí)踐1周)
學(xué) 分 數(shù):
3、4 課程類別:學(xué)科基礎(chǔ)課
開(kāi)課學(xué)期:4 主講教師:
編寫(xiě)日期: 2011年7月1日
一、課程性質(zhì)和目的課程性質(zhì):數(shù)據(jù)結(jié)構(gòu)a是計(jì)算機(jī)科學(xué)與技術(shù)、數(shù)字媒體藝術(shù)、信息管理與信息系統(tǒng)專業(yè)的一門重要學(xué)科基礎(chǔ)課,是必修課。
教學(xué)目的:通過(guò)本課程的學(xué)習(xí),一方面,使學(xué)生學(xué)會(huì)分析研究計(jì)算機(jī)加工的數(shù)據(jù)結(jié)構(gòu)的特性,以便為應(yīng)用涉及的數(shù)據(jù)選擇適當(dāng)?shù)倪壿嫿Y(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)及相應(yīng)的算法,并初步了解對(duì)算法的時(shí)間分析和空間分析技術(shù)。另一方面,通過(guò)對(duì)本課程算法設(shè)計(jì)和上機(jī)實(shí)踐的訓(xùn)練,還應(yīng)培養(yǎng)學(xué)生的數(shù)據(jù)抽象能力和程序設(shè)計(jì)的能力。
二、課程教學(xué)內(nèi)容、學(xué)時(shí)分配和課程教學(xué)基本要求
1.緒論(理論2學(xué)時(shí))
教學(xué)內(nèi)容:
(1)數(shù)據(jù)結(jié)構(gòu)的一些基本概念:數(shù)據(jù)、數(shù)據(jù)元素、數(shù)據(jù)的邏輯結(jié)構(gòu)、物理結(jié)構(gòu)等。(2)抽象數(shù)據(jù)類型的表示和實(shí)現(xiàn)。(3)算法的概念和特性。
(4)算法時(shí)間復(fù)雜度和空間復(fù)雜度的分析?;疽螅?/p>
掌握數(shù)據(jù)結(jié)構(gòu)的基本概念,了解抽象數(shù)據(jù)類型,掌握算法時(shí)間復(fù)雜度和空間復(fù)雜度的分析方法。
2.線性表(理論8學(xué)時(shí),實(shí)驗(yàn)4學(xué)時(shí))
教學(xué)內(nèi)容:
(1)線性表的類型定義。(2)線性表的順序表示和實(shí)現(xiàn)。(3)線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)。
(4)線性表的應(yīng)用,包括無(wú)序表和有序表的合并、多項(xiàng)式的加法運(yùn)算等。基本要求:
理解線性表的邏輯結(jié)構(gòu)特性是數(shù)據(jù)元素之間存在著線性關(guān)系,在計(jì)算機(jī)中表示這種關(guān)系的兩類不同的存儲(chǔ)結(jié)構(gòu)是順序存儲(chǔ)結(jié)構(gòu)(順序表)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)(鏈表)。熟練掌握這兩類存儲(chǔ)結(jié)構(gòu)的描述方法,掌握鏈表中的頭結(jié)點(diǎn)、頭指針和首元結(jié)點(diǎn)的區(qū)別及循環(huán)鏈表、雙向鏈表的特點(diǎn)等。掌握順序表的查找、插入和刪除算法,掌握鏈表的查找、插入和刪除算法。能夠從時(shí)間和空間復(fù)雜度的角度比較兩種存儲(chǔ)結(jié)構(gòu)的不同特點(diǎn)及其適用場(chǎng)合。掌握無(wú)序表和有序表的合并算法,了解多項(xiàng)式的加法運(yùn)算。
實(shí)驗(yàn):
實(shí)驗(yàn)內(nèi)容:?jiǎn)捂湵淼幕静僮?。?shí)驗(yàn)要求:以單鏈表形式創(chuàng)建一個(gè)學(xué)生表或圖書(shū)表,并能實(shí)現(xiàn)相關(guān)的查找、插入和刪除等算法。3.棧和隊(duì)列(理論6學(xué)時(shí),實(shí)驗(yàn)4學(xué)時(shí))
教學(xué)內(nèi)容:
(1)棧的類型定義,棧的順序存儲(chǔ)和鏈接存儲(chǔ)的表示和實(shí)現(xiàn)。(2)棧的應(yīng)用舉例,如迷宮求解和表達(dá)式求值。
(3)棧與遞歸的實(shí)現(xiàn),遞歸程序轉(zhuǎn)換為非遞歸程序的方法。
(4)隊(duì)列的類型,隊(duì)列的順序存儲(chǔ)(循環(huán)隊(duì))和鏈接存儲(chǔ)的表示和實(shí)現(xiàn)。(5)隊(duì)列的應(yīng)用舉例,如打印楊暉三角形,模擬汽車加油站等問(wèn)題。基本要求:
掌握棧和隊(duì)列的特點(diǎn),并能在相應(yīng)的應(yīng)用問(wèn)題中正確選用。熟練掌握棧的順序棧和鏈棧的進(jìn)棧出棧算法,特別應(yīng)注意棧滿和??盏臈l件。掌握利用棧實(shí)現(xiàn)表達(dá)式求值的算法,了解迷宮求解算法。理解遞歸算法執(zhí)行過(guò)程中棧的狀態(tài)變化過(guò)程,了解將遞歸程序轉(zhuǎn)換為非遞歸程序的方法。熟練掌握循環(huán)隊(duì)列和鏈隊(duì)列的進(jìn)隊(duì)出隊(duì)算法,特別是循環(huán)隊(duì)列中隊(duì)頭與隊(duì)尾指針的變化情況。了解隊(duì)列的應(yīng)用。
實(shí)驗(yàn):
實(shí)驗(yàn)內(nèi)容:棧的應(yīng)用。實(shí)驗(yàn)要求:借助棧來(lái)解決某些實(shí)際應(yīng)用問(wèn)題,如表達(dá)式求值、迷宮問(wèn)題等。
4.串、數(shù)組和廣義表(理論2學(xué)時(shí))
教學(xué)內(nèi)容:
(1)串的表示和實(shí)現(xiàn),包括順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)表示。古典的模式匹配算法。(2)數(shù)組的存儲(chǔ)方法。
(3)特殊矩陣和稀疏矩陣的壓縮存儲(chǔ),稀疏矩陣的轉(zhuǎn)置運(yùn)算。(4)廣義表的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)?;疽螅?/p>
了解串的順序存儲(chǔ)結(jié)構(gòu)和堆存儲(chǔ)結(jié)構(gòu)。掌握串的古典的模式匹配算法。掌握數(shù)組的地址計(jì)算方法。了解稀疏矩陣的兩種壓縮存儲(chǔ)方法的特點(diǎn)和適用范圍。了解廣義表的結(jié)構(gòu)特點(diǎn)及其存儲(chǔ)方法。5.樹(shù)和二叉樹(shù)(理論8學(xué)時(shí),實(shí)驗(yàn)2學(xué)時(shí))
教學(xué)內(nèi)容:
(1)二叉樹(shù)的定義和術(shù)語(yǔ),二叉樹(shù)的性質(zhì),特殊的二叉樹(shù)。(2)二叉樹(shù)的存儲(chǔ)結(jié)構(gòu),順序存儲(chǔ)和二叉鏈表。
(3)二叉樹(shù)的的前序、中序、后序、層次遍歷方法。線索化二叉樹(shù)。(4)樹(shù)和森林的定義,樹(shù)的存儲(chǔ),樹(shù)、森林與二叉樹(shù)的轉(zhuǎn)換。(5)樹(shù)的應(yīng)用,哈夫曼樹(shù)及哈夫曼編碼?;疽螅?/p>
了解樹(shù)和森林的概念,包括樹(shù)的定義、樹(shù)的術(shù)語(yǔ)。掌握二叉樹(shù)的概念、性質(zhì)及二叉樹(shù)的表示。熟練掌握二叉樹(shù)的遍歷算法,并且能靈活運(yùn)用遍歷算法實(shí)現(xiàn)二叉樹(shù)的其他操作。掌握線索化二叉樹(shù)的特性及尋找某結(jié)點(diǎn)的前驅(qū)和后繼的方法。了解樹(shù)的存儲(chǔ)、樹(shù)和森林與二叉樹(shù)的轉(zhuǎn)換方法。掌握哈夫曼樹(shù)的實(shí)現(xiàn)方法、構(gòu)造哈夫曼編碼的方法及帶權(quán)路徑長(zhǎng)度的計(jì)算。
實(shí)驗(yàn):
實(shí)驗(yàn)內(nèi)容:二叉樹(shù)的基本算法。實(shí)驗(yàn)要求:利用二叉鏈表方法建立二叉樹(shù),實(shí)現(xiàn)二叉樹(shù)的前、中、后序三種遍歷算法,并運(yùn)用遍歷算法實(shí)現(xiàn)二叉樹(shù)的其他操作,如計(jì)算二叉樹(shù)結(jié)點(diǎn)個(gè)數(shù)、葉子結(jié)點(diǎn)個(gè)數(shù)、二叉樹(shù)的高度等。6.圖(理論8學(xué)時(shí),實(shí)驗(yàn)2學(xué)時(shí))
教學(xué)內(nèi)容:
(1)圖的定義和術(shù)語(yǔ)。
(2)圖的存儲(chǔ)結(jié)構(gòu)兩種存儲(chǔ)結(jié)構(gòu):鄰接矩陣和鄰接表表示法。(3)圖的兩種遍歷策略:深度優(yōu)先搜索和廣度優(yōu)先搜索。(4)構(gòu)造最小生成樹(shù)的兩種算法:普里姆算法和克魯斯卡爾算法。(5)拓?fù)渑判蚝完P(guān)鍵路徑。
(6)兩類求最短路徑問(wèn)題的算法,迪杰斯特拉算法和弗洛伊德算法?;疽螅?/p>
掌握?qǐng)D的基本概念及相關(guān)術(shù)語(yǔ)和性質(zhì),掌握?qǐng)D的鄰接矩陣和鄰接表表示法,了解實(shí)際問(wèn)題的求解效率與采用何種存儲(chǔ)結(jié)構(gòu)和算法有密切聯(lián)系。熟練掌握?qǐng)D的兩種搜索路徑的遍歷:深度優(yōu)先搜索和廣度優(yōu)先搜索的算法。掌握構(gòu)造最小生成樹(shù)的兩種算法及拓?fù)渑判蛩惴ǖ乃枷?,掌握迪杰斯特拉算法。了解關(guān)鍵路徑的概念和求解方法,了解弗洛伊德算法。
實(shí)驗(yàn):
實(shí)驗(yàn)內(nèi)容:圖的建立和搜索。實(shí)驗(yàn)要求:使用鄰接矩陣或鄰接表表示法存儲(chǔ)一個(gè)圖,實(shí)現(xiàn)圖的深度優(yōu)先搜索和廣度優(yōu)先搜索的算法。7.查找(理論6學(xué)時(shí))
教學(xué)內(nèi)容:(1)查找的基本概念,平均查找長(zhǎng)度。(2)基于線性表的查找:順序查找、折半查找。
(3)基于樹(shù)表的查找:二叉排序樹(shù)、平衡二叉樹(shù)、b-樹(shù)和b+樹(shù)。
(4)散列表:散列表的基本概念,散列函數(shù)的構(gòu)造方法、處理沖突的方法、散列表的查找與分析。
基本要求:
熟練掌握順序表和有序表的查找方法及其實(shí)現(xiàn),掌握二叉排序樹(shù)的插入和查找算法及其實(shí)現(xiàn),了解平衡二叉樹(shù)、b-樹(shù)和b+樹(shù)的各種操作。熟練掌握散列表的構(gòu)造方法、處理沖突的方法,深刻理散列表與其他結(jié)構(gòu)的表的實(shí)質(zhì)性的差別,了解各種散列函數(shù)的特點(diǎn)。掌握描述折半查找過(guò)程的判定樹(shù)的構(gòu)造方法,以及按定義計(jì)算各種查找方法在等概率情況下查找成功時(shí)的平均查找長(zhǎng)度。
8.排序(理論8學(xué)時(shí),實(shí)驗(yàn)2學(xué)時(shí))
教學(xué)內(nèi)容:
(1)排序的基本概念,包括正序,逆序,穩(wěn)定性,排序方法的分類。(2)插入排序:直接插入排序、折半插入排序和希爾排序。(3)交換排序:冒泡排序和快速排序。(4)選擇排序:簡(jiǎn)單選擇排序和堆排序。(5)歸并排序:2-路歸并排序。
(6)基數(shù)排序:多關(guān)鍵字的排序和鏈數(shù)基數(shù)排序。
(7)排序算法分析:各種排序算法的比較和移動(dòng)次數(shù),時(shí)間復(fù)雜度和空間復(fù)雜度的分析?;疽螅?/p>
明確排序的基本概念,排序方法的分類。深刻理解排序算法的過(guò)程、特點(diǎn)及其依據(jù)的原則,并能加以靈活應(yīng)用。掌握各種排序方法的時(shí)間和空間復(fù)雜度的分析方法。能從關(guān)鍵字間的比較次數(shù)和移動(dòng)次數(shù)分析算法的平均情況和最壞情況的時(shí)間性能。理解排序方法“穩(wěn)定”或“不穩(wěn)定”的含義,弄清楚在什么情況下要求應(yīng)用的排序方法必須是穩(wěn)定的??焖倥判?、堆排序和歸并排序等高效排序方法是本章的學(xué)習(xí)重點(diǎn)和難點(diǎn)。
實(shí)驗(yàn):
實(shí)驗(yàn)內(nèi)容:綜合性實(shí)驗(yàn)。實(shí)驗(yàn)要求:選取一個(gè)合適的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),能對(duì)數(shù)據(jù)進(jìn)行插入、刪除,用不同查找算法進(jìn)行查找、用不同的排序算法進(jìn)行排序等。9.實(shí)習(xí)(1周)
教學(xué)內(nèi)容:
(1)設(shè)計(jì)準(zhǔn)備:理解實(shí)習(xí)任務(wù),明確相關(guān)算法,搜集可用資源,熟悉實(shí)習(xí)環(huán)境。(2)方案設(shè)計(jì):完成設(shè)計(jì)目標(biāo)、設(shè)計(jì)路線的確定,并進(jìn)行模塊設(shè)計(jì)和任務(wù)分工。(3)代碼編寫(xiě):各模塊代碼編寫(xiě),模塊測(cè)試。(4)代碼測(cè)試:模塊組裝,整體測(cè)試。(5)設(shè)計(jì)報(bào)告:完成設(shè)計(jì)文檔,制作設(shè)計(jì)報(bào)告。基本要求:
能將數(shù)據(jù)結(jié)構(gòu)課程中所學(xué)的基本知識(shí)融會(huì)貫通,綜合運(yùn)用所學(xué)的知識(shí)解決相關(guān)的實(shí)際問(wèn)題,能夠把所學(xué)知識(shí)(包括算法和結(jié)構(gòu))在計(jì)算機(jī)上用編程語(yǔ)言加以實(shí)現(xiàn),并且能夠根據(jù)實(shí)際需求創(chuàng)建自己的數(shù)據(jù)結(jié)構(gòu)和實(shí)現(xiàn)自己的算法。
本課程的教學(xué)環(huán)節(jié)包括:課堂講授、實(shí)驗(yàn)、實(shí)習(xí)、作業(yè)、答疑、小測(cè)驗(yàn)等。其中,課堂講授以教師講授為主,授課時(shí)將電子教案和板書(shū)相結(jié)合,充分發(fā)揮各自的優(yōu)點(diǎn)。采用啟發(fā)式教學(xué),鼓勵(lì)學(xué)生自學(xué),培養(yǎng)學(xué)生的自學(xué)能力,以“少而精”為原則,精選教學(xué)內(nèi)容,調(diào)動(dòng)學(xué)生學(xué)習(xí)的主觀能動(dòng)性。實(shí)驗(yàn)針對(duì)相應(yīng)單元所學(xué)的內(nèi)容,能夠采取合適的數(shù)據(jù)結(jié)構(gòu)和算法解決有關(guān)問(wèn)題。實(shí)驗(yàn)重點(diǎn)培養(yǎng)學(xué)生的動(dòng)手能力。實(shí)習(xí)針對(duì)較為復(fù)雜的應(yīng)用問(wèn)題,能夠綜合運(yùn)用所學(xué)的各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行算法設(shè)計(jì)和實(shí)現(xiàn),注重學(xué)生數(shù)據(jù)抽象能力和算法設(shè)計(jì)能力的培養(yǎng)。
三、本課程與其它課程的聯(lián)系和分工
本課程的先修課為程序設(shè)計(jì)基礎(chǔ)和離散數(shù)學(xué),本課程可以c/c++或java語(yǔ)言作為算法描述和上機(jī)實(shí)踐的工具。同時(shí),本課程又是軟件開(kāi)發(fā)與設(shè)計(jì)等方面課程的基礎(chǔ),如數(shù)據(jù)庫(kù)、操作系統(tǒng)、編譯原理、軟件工程等課程。
四、本課程的考核方式
期末考試采用筆試形式,考試題型為:選擇、填空、判斷、應(yīng)用題和算法設(shè)計(jì)題??傇u(píng)成績(jī)由平時(shí)成績(jī)和期末成績(jī)組成,其中平時(shí)成績(jī)占30%--40%,期末考試占70%--60%。
課程實(shí)習(xí)的成績(jī)由平時(shí)成績(jī)和實(shí)習(xí)作業(yè)兩部分組成,其中平時(shí)成績(jī)占30%,實(shí)習(xí)作業(yè)占70%。
五、建議教材與教學(xué)參考書(shū)
建議教材:
1.嚴(yán)蔚敏,李冬梅,吳偉民.?dāng)?shù)據(jù)結(jié)構(gòu)(c語(yǔ)言版).北京:人民郵電出版社. 2.嚴(yán)蔚敏主編.?dāng)?shù)據(jù)結(jié)構(gòu)(c語(yǔ)言版).北京:清華大學(xué)出版社.
3.殷人昆主編.?dāng)?shù)據(jù)結(jié)構(gòu)(用面向?qū)ο蠓椒ㄅcc++描述).北京:清華大學(xué)出版社. 建議教學(xué)參考書(shū):
1.[美]bruno 著,胡廣斌,王崧等譯.?dāng)?shù)據(jù)結(jié)構(gòu)與算法-面向?qū)ο蟮腸++設(shè)計(jì)模式.北京:電子工業(yè)出版社.
2.殷人昆主編.?dāng)?shù)據(jù)結(jié)構(gòu)與習(xí)題解析(用面向?qū)ο蠓椒ㄅcc++描述).北京:清華大學(xué)出版社.
六、課程簡(jiǎn)介
數(shù)據(jù)結(jié)構(gòu)是一門專業(yè)基礎(chǔ)課,是學(xué)習(xí)其他軟件開(kāi)發(fā)與設(shè)計(jì)等方面課程的基礎(chǔ)。主要內(nèi)容包括:線性表、棧和隊(duì)列、串、數(shù)組和廣義表、樹(shù)、圖、查找算法和排序算法。數(shù)據(jù)結(jié)構(gòu)研究數(shù)據(jù)的組織方式,內(nèi)容豐富、學(xué)習(xí)量大,隱含在各部分內(nèi)容中的方法和技術(shù)多,旨在讓學(xué)生掌握計(jì)算機(jī)軟件系統(tǒng)所必需的數(shù)據(jù)結(jié)構(gòu)的算法。要求學(xué)生掌握貫穿全課程的動(dòng)態(tài)鏈表存儲(chǔ)結(jié)構(gòu),掌握算法設(shè)計(jì)的動(dòng)態(tài)性和抽象性。要求學(xué)生學(xué)會(huì)分析研究計(jì)算機(jī)加工的數(shù)據(jù)對(duì)象的特征,以便在實(shí)際應(yīng)用中選擇適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和相應(yīng)算法,初步掌握算法的時(shí)間與空間性能分析技巧,并培養(yǎng)復(fù)雜程序設(shè)計(jì)的技能。
執(zhí)筆人:
審核人:
教學(xué)院長(zhǎng):
院學(xué)術(shù)委員會(huì):
院長(zhǎng):
數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)教學(xué)大綱 數(shù)據(jù)結(jié)構(gòu)課程大綱篇三
《數(shù)據(jù)結(jié)構(gòu)與算法》教學(xué)大綱
課程編號(hào):030816 適用專業(yè):教育技術(shù)學(xué) 總學(xué)時(shí)數(shù):64
學(xué) 分:4 編制單位:茂名學(xué)院理學(xué)院教育與信息技術(shù)系 編制時(shí)間:2008年6月20日
一、課程地位、性質(zhì)和任務(wù)
《數(shù)據(jù)結(jié)構(gòu)與算法》課程是計(jì)算機(jī)相關(guān)學(xué)科專業(yè)的基礎(chǔ)課程中的一門重要的核心課程。通過(guò)本課程的教學(xué),使學(xué)生知道求解非數(shù)值類問(wèn)題的基本模型(表、樹(shù)、圖),模型的特點(diǎn)和適用場(chǎng)合,能夠根據(jù)問(wèn)題設(shè)計(jì)和選擇好的算法,為學(xué)習(xí)后續(xù)的操作系統(tǒng)、編譯原理和軟件工程等專業(yè)課程,設(shè)計(jì)應(yīng)用程序打下基礎(chǔ)。
本課程以提高學(xué)生的計(jì)算機(jī)應(yīng)用能力和綜合素質(zhì)為目標(biāo),通過(guò)課程教學(xué),為學(xué)生構(gòu)建數(shù)據(jù)結(jié)構(gòu)與算法方面的知識(shí)體系,使學(xué)生一方面能夠根據(jù)問(wèn)題選擇合適的數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)高效的算法,提高程序設(shè)計(jì)能力,另一方面,在工程應(yīng)用中,具有甄別好算法的能力,也就是要從建模、解模和綜合等三個(gè)方面,提高學(xué)生的程序設(shè)計(jì)能力。
二、與其他課程的關(guān)系
先修課:程序設(shè)計(jì)基礎(chǔ)、離散數(shù)學(xué)、計(jì)算機(jī)組成原理、計(jì)算機(jī)文化基礎(chǔ)
三、教學(xué)內(nèi)容、課時(shí)安排和基本要求
(一)教學(xué)部分 第1章 緒論(2學(xué)時(shí))1.1什么是數(shù)據(jù)結(jié)構(gòu) 1.2 基本概念和術(shù)語(yǔ)
1.3 抽象數(shù)據(jù)類型的表示與實(shí)現(xiàn)
1.4 算法和算法分析(算法及其設(shè)計(jì)的要求,算法效率的度量,算法的存儲(chǔ)空間需求)1.5 問(wèn)題求解
基本要求:
了解:抽象數(shù)據(jù)類型,算法設(shè)計(jì)方法與算法分析。
掌握:數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)、算法的基本概念;問(wèn)題求解的方法與步驟 重點(diǎn):數(shù)據(jù)結(jié)構(gòu)和算法的概念,算法的描述形式和評(píng)價(jià)方法,問(wèn)題求解的一般步驟 難點(diǎn):評(píng)價(jià)算法的標(biāo)準(zhǔn)和評(píng)價(jià)方法,最壞情況和平均情況的區(qū)分。
第2章 線性表(8學(xué)時(shí))2.1 線性表的類型定義 2.2 線性表的順序表示和實(shí)現(xiàn)
2.3 線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)(線性鏈表,循環(huán)鏈表,雙向鏈表)2.4 一元多項(xiàng)式的表示及相加
基本要求:
了解:兩種存儲(chǔ)結(jié)構(gòu)(順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu))及一元多項(xiàng)式的表示及相加。
掌握:要求熟練掌握處理線性表的各種算法。為后繼章節(jié)的學(xué)習(xí)打基礎(chǔ)。重點(diǎn):各種算法。難點(diǎn):鏈表的理解。
第3章 棧與隊(duì)列(4學(xué)時(shí))
3.1 棧(定義,棧的表示和實(shí)現(xiàn))
3.2 棧的應(yīng)用舉例(數(shù)制轉(zhuǎn)換,括號(hào)匹配的檢驗(yàn),行編輯程序,迷宮求解,表達(dá)式求值)
3.3 棧與遞歸的實(shí)現(xiàn)
3.4 隊(duì)列及其實(shí)現(xiàn)(定義,鏈隊(duì)列,循環(huán)隊(duì)列)3.5 *離散事件模擬
教學(xué)要求:熟練掌握棧和隊(duì)列的特性和在不同存儲(chǔ)結(jié)構(gòu)前提下的算法實(shí)現(xiàn)。棧和隊(duì)列是表最基本和重要的數(shù)據(jù)結(jié)構(gòu),是數(shù)據(jù)結(jié)構(gòu)課程的基礎(chǔ)。
基本要求:
了解: 棧和隊(duì)列的定義及其實(shí)現(xiàn)。
掌握: 熟練掌握棧和隊(duì)列的特性和在不同存儲(chǔ)結(jié)構(gòu)前提下的算法實(shí)現(xiàn)。重點(diǎn): 棧和隊(duì)列的算法實(shí)現(xiàn)。難點(diǎn): 棧和隊(duì)列的算法實(shí)現(xiàn)。
第4章 串(2學(xué)時(shí))4.1 串類型的定義
4.2 串的表示和實(shí)現(xiàn)(定長(zhǎng)順序存儲(chǔ),堆分配存儲(chǔ),串的塊鏈存儲(chǔ))4.3 串的模式匹配算法(求子串位置的定位函數(shù),模式匹配的一種改進(jìn)算法)4.4 串操作應(yīng)用舉例(文本編輯,建立詞索引表)
基本要求:
了解:串的基本概念及主要操作和運(yùn)算。掌握:掌握串的基本概念和運(yùn)算。重點(diǎn):主要操作和運(yùn)算。難點(diǎn):模式匹配及串的應(yīng)用。
第5章 數(shù)組(2學(xué)時(shí))5.1 數(shù)組的定義
5.2 數(shù)組的順序表示和實(shí)現(xiàn)
5.3 矩陣的壓縮存儲(chǔ)(特殊矩陣,稀疏矩陣)5.4 廣義表的定義 5.5 廣義表的存儲(chǔ)結(jié)構(gòu) 5.6 m元多項(xiàng)式的表示
5.7 廣義表的遞歸算法(求廣義表的深度,復(fù)制廣義表,建立廣義表的存儲(chǔ)結(jié)構(gòu))
基本要求:
了解:了解作為抽象數(shù)據(jù)類型的數(shù)組和c語(yǔ)言的數(shù)組。認(rèn)識(shí)到數(shù)組可以作為順序存儲(chǔ)結(jié)構(gòu)用于順序表、字符串和稀疏矩陣的實(shí)現(xiàn)。也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
掌握:掌握基本概念和算法。重點(diǎn):算法。
難點(diǎn):廣義表的遞歸算法。
第6章 樹(shù)與二叉樹(shù)(15學(xué)時(shí))6.1 樹(shù)的定義和基本術(shù)語(yǔ)
6.2 二叉樹(shù)(二叉樹(shù)的定義,二叉樹(shù)的性質(zhì),二叉樹(shù)的存儲(chǔ)結(jié)構(gòu))6.3 遍歷二叉樹(shù)和線索二叉樹(shù)(遍歷二叉樹(shù),線索二叉樹(shù))
6.4 樹(shù)和森林(樹(shù)的存儲(chǔ)結(jié)構(gòu),森林與二叉樹(shù)的轉(zhuǎn)換,樹(shù)和森林的遍歷)6.5 樹(shù)與等價(jià)問(wèn)題
6.6 赫夫曼樹(shù)及其應(yīng)用(最優(yōu)二叉樹(shù)(赫夫曼樹(shù)),赫夫曼編碼)6.7 回溯法與樹(shù)的遍歷 6.8 樹(shù)的計(jì)數(shù)
基本要求:
了解:理解樹(shù)與森林的定義與術(shù)語(yǔ)。
掌握:熟練掌握二叉樹(shù)性質(zhì)和遍歷算法,掌握樹(shù)與森林的孩子兄弟存儲(chǔ)表示和遍歷。掌握哈夫曼樹(shù)構(gòu)造的方法和算法。重點(diǎn): 樹(shù)的存儲(chǔ)結(jié)構(gòu)和遍歷算法。難點(diǎn):哈夫曼樹(shù)構(gòu)造的方法和算法
第7章 圖(11學(xué)時(shí))7.1 圖的定義和術(shù)語(yǔ)
7.2 圖的存儲(chǔ)結(jié)構(gòu)(數(shù)組表示法,鄰接表,十字鏈表,鄰接多重表)7.3 圖的遍歷(深度優(yōu)先搜索,廣度優(yōu)先搜索)
7.4 圖的連通性問(wèn)題(無(wú)向圖的連通分量和生成樹(shù),有向圖的強(qiáng)連通分量,最小生成樹(shù),關(guān)節(jié)點(diǎn)和重連通分量)
7.5 有向無(wú)環(huán)圖及其應(yīng)用(拓?fù)渑判?,關(guān)鍵路徑)
7.6 最短路徑(從某個(gè)源點(diǎn)到其余各項(xiàng)點(diǎn)的最短路徑,每一對(duì)頂點(diǎn)之間的最短路徑)基本要求:
了解:圖的基本概念和相關(guān)術(shù)語(yǔ)。
掌握:圖的兩種主要存儲(chǔ)結(jié)構(gòu)及遍歷算法。掌握最小生成樹(shù)、最短路徑和活動(dòng)網(wǎng)算法的思想。
重點(diǎn):圖的兩種主要存儲(chǔ)結(jié)構(gòu)及遍歷算法。難點(diǎn):圖的遍歷算法,最短路徑算法。
第8章 查找(8學(xué)時(shí))
9.1 靜態(tài)查找表(順序表,有序表,靜態(tài)樹(shù)表,索引順序表)9.2 動(dòng)態(tài)查找表(二叉排序樹(shù)和平衡二叉樹(shù),b_樹(shù)和b+樹(shù),鍵樹(shù))9.3 哈希表(定義,構(gòu)造方法,處理沖突的方法,查找及其分析)
基本要求:
了解: 各種查找法的基本概念及實(shí)現(xiàn)的基本思想。
掌握:熟練掌握搜索結(jié)構(gòu)的折半查找、二叉搜索樹(shù)、平衡二叉樹(shù)主要搜索算法。掌握哈希表查找算法。重點(diǎn):各種算法的基本思想及實(shí)現(xiàn)。難點(diǎn):哈希表查找算法。
第9章 內(nèi)部排序(8學(xué)時(shí))10.1 概述
10.2 插入排序(直接插入,其他插入,希爾)10.3 交換排序(冒泡排序、快速排序)10.4 選擇排序(簡(jiǎn)單,樹(shù)形,堆)10.5 歸并排序
10.6 基數(shù)排序(多關(guān)鍵字,鏈?zhǔn)剑?0.7 排序算法分析
基本要求:
了解:基數(shù)排序,排序算法分析方法
掌握:排序的基本概念,插入排序,交換排序,選擇排序,歸并排序重點(diǎn):內(nèi)部排序算法
難點(diǎn):基數(shù)排序(多關(guān)鍵字,鏈?zhǔn)剑?/p>
第10章 *外部排序(2學(xué)時(shí))11.1 外存信息的存取 11.2 外部排序的方法 11.3 多路平衡歸并的實(shí)現(xiàn) 11.4 置換-選擇排序 11.5 最佳歸并樹(shù)
基本要求:
了解:外部排序的基本概念和相關(guān)術(shù)語(yǔ)。
掌握:基本掌握外排算法的基本思想,不同排序方法的比較。重點(diǎn):外部排序算法 難點(diǎn):多路平衡歸并的實(shí)現(xiàn) 第11章 算法設(shè)計(jì)的一般方法(2學(xué)時(shí))
1.重點(diǎn)
(1)有效算法的概念,問(wèn)題固有難度的概念;
(2)遞歸法;分治法;平衡原則;貪心法;動(dòng)態(tài)規(guī)劃的基本原理;(3)搜索-回溯法的基本原理和本質(zhì).2.難點(diǎn)
(1)問(wèn)題固有難度的概念;
(2)遞歸分治法的效率分析(寫(xiě)出時(shí)間耗費(fèi)的遞推式,并求解);(3)動(dòng)態(tài)規(guī)劃法中的狀態(tài)轉(zhuǎn)移方程的確定。
(二)實(shí)驗(yàn)、實(shí)習(xí)部分
課程安排五個(gè)類別的實(shí)驗(yàn),實(shí)驗(yàn)時(shí)數(shù)為12課時(shí),其中: 實(shí)驗(yàn)
一、線性鏈表及運(yùn)算 2課時(shí) 實(shí)驗(yàn)
二、棧和隊(duì)列 2課時(shí) 實(shí)驗(yàn)
三、樹(shù)和二叉樹(shù) 4課時(shí) 實(shí)驗(yàn)
四、圖及其應(yīng)用 2課時(shí) 實(shí)驗(yàn)
五、查找與排序 2課時(shí)
四、課程考核方式
閉卷考試70%、平時(shí)作業(yè)與實(shí)驗(yàn)30%
五、建議教材和教學(xué)參考書(shū) 參考教材:
1、《數(shù)據(jù)結(jié)構(gòu)》(c語(yǔ)言描述)高等教育出版社 耿國(guó)華主編
2、《數(shù)據(jù)結(jié)構(gòu)》(c語(yǔ)言版)清華大學(xué)出版社 嚴(yán)蔚敏,吳偉民編者
3、《數(shù)據(jù)結(jié)構(gòu)題集》(c語(yǔ)言版)清華大學(xué)出版社 嚴(yán)蔚敏,吳偉民編者
4、《數(shù)據(jù)結(jié)構(gòu)》算法實(shí)現(xiàn)及解析(第二版)西安電子科技大學(xué)出版社 高一凡
六、說(shuō)明
1、因課時(shí)安排少,教學(xué)內(nèi)容多。建議采用多媒體教學(xué)。
2、由于本課程內(nèi)容較多,在實(shí)際教學(xué)中可根據(jù)大綱內(nèi)容,進(jìn)行適當(dāng)調(diào)整。
數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)教學(xué)大綱 數(shù)據(jù)結(jié)構(gòu)課程大綱篇四
數(shù)據(jù)結(jié)構(gòu)課程教學(xué)大綱
一、課程基本概況
課程名稱:數(shù)據(jù)結(jié)構(gòu)
課程名稱(英文): data structures
課程編號(hào):b09042
課程總學(xué)時(shí):60(其中,講課48,實(shí)驗(yàn)12)
課程學(xué)分:3
課程分類:專業(yè)選修課
開(kāi)設(shè)學(xué)期:4
適用專業(yè):計(jì)算機(jī)網(wǎng)絡(luò)工程本科
先修課程:集合論,圖論,高級(jí)語(yǔ)言(結(jié)構(gòu)或記錄,指針)
后續(xù)課程:數(shù)據(jù)庫(kù),編譯原理,操作系統(tǒng)等
二、課程的性質(zhì)、目的和任務(wù)
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)專業(yè)的一門核心專業(yè)課程,是軟件課程中非常重要的一門課程,在整個(gè)專業(yè)教學(xué)中占有十分重要的地位,是一門理論性非常強(qiáng)的課程。通過(guò)課堂教學(xué)、課外練習(xí)和上機(jī)實(shí)習(xí),使學(xué)生了解數(shù)據(jù)對(duì)象的特性,數(shù)據(jù)組織的基本方法,并初步具備分析和解決現(xiàn)實(shí)世界問(wèn)題在計(jì)算機(jī)中如何表示和處理的能力以及培養(yǎng)良好的程序設(shè)計(jì)技能,為后續(xù)課程的學(xué)習(xí)和科研工作的參與打下良好的基礎(chǔ)。
三、主要內(nèi)容、重點(diǎn)及深度
本門課程共60學(xué)時(shí),其中理論教學(xué)48學(xué)時(shí),實(shí)驗(yàn)教學(xué)12學(xué)時(shí)。其中,理論教學(xué)部分:
第一章
緒論
(一)目的要求
了解數(shù)據(jù)結(jié)構(gòu)的意義與發(fā)展過(guò)程、數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)科學(xué)中的作用、學(xué)習(xí)本課程的目的、任務(wù)及要求。理解數(shù)據(jù)結(jié)構(gòu)的基本概念;算法設(shè)計(jì);掌握算法的時(shí)間和空間復(fù)雜度。
(二)教學(xué)內(nèi)容 本章知識(shí)點(diǎn):
1.相關(guān)的基本概念(掌握);
2.算法五大要素(掌握);
3.計(jì)算語(yǔ)句頻度和估算算法時(shí)間復(fù)雜度的方法(掌握)。
(三)重點(diǎn)與難點(diǎn)
重點(diǎn):數(shù)據(jù)結(jié)構(gòu)的定義;算法的描述方法。
難點(diǎn):數(shù)據(jù)結(jié)構(gòu)的定義;算法與程序的區(qū)別;時(shí)間復(fù)雜度及其計(jì)算。
第二章
線性表
(一)目的要求
掌握線性表的邏輯結(jié)構(gòu);線性表的存儲(chǔ)結(jié)構(gòu)及操作的實(shí)現(xiàn);理解一元多項(xiàng)式的表示;
(二)教學(xué)內(nèi)容 本章知識(shí)點(diǎn):
1.線性表的邏輯結(jié)構(gòu)(掌握);2.線性表的存儲(chǔ)結(jié)構(gòu)(掌握);
3.線性表在順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu)上實(shí)現(xiàn)基本操作的方法(掌握);
4.從時(shí)間和空間復(fù)雜度的角度比較線性表兩種存儲(chǔ)結(jié)構(gòu)的不同特點(diǎn)及其適用場(chǎng)合(掌握)。
(三)重點(diǎn)與難點(diǎn)
重點(diǎn):線性表的概念;線性表的順序存儲(chǔ)結(jié)構(gòu)、鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及其常用算法。難點(diǎn):鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及其常用算法;雙向循環(huán)鏈表。
第三章 棧和隊(duì)列
(一)目的要求
掌握棧的定義,表示及實(shí)現(xiàn);表達(dá)式求值;棧與遞歸過(guò)程;隊(duì)列的定義、表示及實(shí)現(xiàn)。
(二)教學(xué)內(nèi)容 本章知識(shí)點(diǎn): 1.棧和隊(duì)列的特點(diǎn)(掌握);
2.在兩種存儲(chǔ)結(jié)構(gòu)上棧的基本操作的實(shí)現(xiàn)(掌握); 3.循環(huán)隊(duì)列和鏈隊(duì)列的基本運(yùn)算(熟練掌握); 4.遞歸算法執(zhí)行過(guò)程中棧狀態(tài)的變化過(guò)程(掌握)。
(三)重點(diǎn)與難點(diǎn)
重點(diǎn):堆棧和隊(duì)列的概念;遞歸的定義;循環(huán)隊(duì)列和鏈隊(duì)列的基本運(yùn)算。難點(diǎn):遞歸的編程實(shí)現(xiàn);循環(huán)隊(duì)列和鏈隊(duì)列的基本運(yùn)算。
第四章 串
(一)目的要求
了解串的邏輯結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu);掌握串操作的實(shí)現(xiàn)(重點(diǎn)難點(diǎn)bf和kmp算法)串的應(yīng)用。
(二)教學(xué)內(nèi)容 本章知識(shí)點(diǎn):
1.串的七種基本運(yùn)算的定義(了解);
2.利用這些基本運(yùn)算來(lái)實(shí)現(xiàn)串的其它各種運(yùn)算的方法(掌握); 3.在順序存儲(chǔ)結(jié)構(gòu)上實(shí)現(xiàn)串的各種操作的方法(掌握);
算法,熟悉next函數(shù)和改進(jìn)next函數(shù)的定義和計(jì)算(掌握); 5.串名的存儲(chǔ)映象和在堆存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)串操作的方法(理解)。
(三)重點(diǎn)與難點(diǎn) 重點(diǎn):串定義和存儲(chǔ)方法;串的操作 難點(diǎn):串操作實(shí)現(xiàn)方法
第五章 數(shù)組和廣義表
(一)目的要求
掌握數(shù)組的存儲(chǔ)結(jié)構(gòu);稀疏矩陣的表示及操作的實(shí)現(xiàn);廣義表的定義和存儲(chǔ)結(jié)構(gòu);廣義表的遞歸算法。
(二)教學(xué)內(nèi)容 本章知識(shí)點(diǎn):1.數(shù)組在以行為主的存儲(chǔ)結(jié)構(gòu)中的地址計(jì)算方法(掌握); 2.矩陣實(shí)現(xiàn)壓縮存儲(chǔ)時(shí)的下標(biāo)變換(掌握);
3.理解稀疏矩陣的兩種存儲(chǔ)方式的特點(diǎn)和適用范圍,領(lǐng)會(huì)以三元組表示稀疏矩陣時(shí)進(jìn)行運(yùn)算采用的處理方法(掌握);
4.廣義表的定義及其存儲(chǔ)結(jié)構(gòu),學(xué)會(huì)廣義表的表頭,表尾分析方法(掌握); 5.學(xué)習(xí)編制廣義表的遞歸算法(掌握)。
(三)重點(diǎn)與難點(diǎn)
重點(diǎn):多維數(shù)組元素存儲(chǔ)地址的計(jì)算;稀疏矩陣的三元組表示;廣義表的存儲(chǔ)定義、操作。難點(diǎn):稀疏矩陣的三元組表示;廣義表的存儲(chǔ)定義、操作。
第六章 樹(shù)和二叉樹(shù)
(一)目的要求
了解樹(shù)的基本概念;理解二叉樹(shù)的性質(zhì)和存儲(chǔ)結(jié)構(gòu);遍歷二叉樹(shù)和線索二叉樹(shù);理解樹(shù)的存儲(chǔ)結(jié)構(gòu)和遍歷;集合的一種表示方法;掌握哈夫曼樹(shù)及其應(yīng)用;
(二)教學(xué)內(nèi)容 本章知識(shí)點(diǎn): 1.二叉樹(shù)的結(jié)構(gòu)特點(diǎn)(理解);
2.二叉樹(shù)的各種存儲(chǔ)結(jié)構(gòu)的特點(diǎn)及適用范圍(掌握); 3.按各種次序遍歷二叉樹(shù)的遞歸和非遞歸算法(掌握);
4.二叉樹(shù)的線索化,在中序線索樹(shù)上找給定結(jié)點(diǎn)的前驅(qū)和后繼的方法(掌握); 5.樹(shù)的各種存儲(chǔ)結(jié)構(gòu)及其特點(diǎn)(掌握); 6.編寫(xiě)樹(shù)的各種運(yùn)算的算法(掌握);
7.建立最優(yōu)二叉樹(shù)和哈夫曼編碼的方法(掌握)。
(三)重點(diǎn)與難點(diǎn) 重點(diǎn):二叉樹(shù)的概念、性質(zhì);二叉樹(shù)的遍歷方式;構(gòu)造二叉排序樹(shù)。難點(diǎn):二叉樹(shù)的遍歷方式;二叉排序樹(shù)的構(gòu)造方法;二叉樹(shù)的線索化。
第七章 圖
(一)目的要求
理解圖的基本概念;圖的存儲(chǔ)結(jié)構(gòu);掌握?qǐng)D的遍歷及應(yīng)用{最小生成樹(shù),最短路徑等};拓?fù)渑判蚝完P(guān)鍵路徑。
(二)教學(xué)內(nèi)容 本章知識(shí)點(diǎn): 1.熟悉圖的各種存儲(chǔ)結(jié)構(gòu);
2.了解實(shí)際問(wèn)題與采用何種存儲(chǔ)結(jié)構(gòu)和算法有密切聯(lián)系(掌握); 3.遍歷圖的遞歸和非遞歸算法(掌握);
4.應(yīng)用圖的遍歷算法求各種簡(jiǎn)單路徑問(wèn)題(比如,最小生成樹(shù)、最短路徑、拓?fù)渑判?、關(guān)鍵路徑等)(掌握)。
(三)重點(diǎn)與難點(diǎn)
重點(diǎn):圖的存儲(chǔ)結(jié)構(gòu);圖的遍歷 難點(diǎn):圖遍歷的算法;
第八章
動(dòng)態(tài)存儲(chǔ)管理
(一)目的要求
了解邊界標(biāo)識(shí)法和伙伴系統(tǒng);無(wú)用單元收集和緊縮;
(二)教學(xué)內(nèi)容 本章知識(shí)點(diǎn):
1.存儲(chǔ)器分配策略和算法(了解);
2.無(wú)用單元收集時(shí)的標(biāo)志算法(了解)。
(三)重點(diǎn)與難點(diǎn)
存儲(chǔ)器分配策略和算法、無(wú)用單元收集時(shí)的標(biāo)志算法
第九章
查找
(一)目的要求
了解靜態(tài)查找表(順序表,有序表,索引順序表);動(dòng)態(tài)查找表(二叉排序樹(shù),平衡二叉樹(shù),b-樹(shù)和b+樹(shù))的建立和查找;掌握哈希表的建立,查找及分析;
(二)教學(xué)內(nèi)容 本章知識(shí)點(diǎn):
1.順序查找、折半查找和索引查找的方法、應(yīng)用(掌握);
2.二叉排序樹(shù)的構(gòu)造方法(掌握);
3.二叉平衡樹(shù)的建立方法(掌握);
4.b-樹(shù),b+樹(shù)和鍵樹(shù)的特點(diǎn)以及它們的建立過(guò)程(理解);
5.哈希表的構(gòu)造方法(掌握);
6.按定義計(jì)算各種查找方法在等概率情況下查找成功時(shí)和失敗時(shí)的平均查找長(zhǎng)度;
7.哈希表在查找不成功時(shí)的平均查找長(zhǎng)度的計(jì)算方法(掌握)。
(三)重點(diǎn)與難點(diǎn)
重點(diǎn):二叉排序樹(shù)的構(gòu)造方法、二叉平衡樹(shù)的建立方法;哈希表的構(gòu)造、應(yīng)用;
難點(diǎn):二叉排序樹(shù)的構(gòu)造及應(yīng)用;哈希表的構(gòu)造方法;查找的平均長(zhǎng)度。
第十章
內(nèi)部排序
(一)目的要求
掌握插入排序、交換排序(起泡排序,快速排序)、選擇排序(簡(jiǎn)單選擇,樹(shù)形選擇,堆)、歸并排序、基數(shù)排序等算法。
(二)教學(xué)內(nèi)容 本章知識(shí)點(diǎn):
1.各種排序方法的特點(diǎn)并能靈活應(yīng)用(掌握); 2.各種方法的排序過(guò)程(掌握);
3.各種排序方法的時(shí)間復(fù)雜度分析(掌握)。
(三)重點(diǎn)與難點(diǎn)
重點(diǎn):各種排序方法的特點(diǎn)及其應(yīng)用;實(shí)現(xiàn)排序的各種算法。難點(diǎn):各種排序算法的時(shí)間復(fù)雜度分析。
十一章
外部排序
(一)目的要求
理解外部排序的基本方法;掌握敗者樹(shù)和多路平衡歸并的實(shí)現(xiàn);置換--選擇排序;最佳歸并樹(shù)。
(二)教學(xué)內(nèi)容 本章知識(shí)點(diǎn):
1.外部排序的兩個(gè)過(guò)程(理解);
2.外排過(guò)程中所需進(jìn)行外存讀/寫(xiě)次數(shù)的計(jì)算方法(掌握);
3.敗者樹(shù)的建立過(guò)程(掌握);
4.實(shí)現(xiàn)多路歸并的算法(掌握);
5.置換-選擇排序的過(guò)程(掌握);
6.最佳歸并樹(shù)的構(gòu)造方法(熟悉);
7.按最佳歸并樹(shù)的歸并方案進(jìn)行平衡歸并時(shí),外存讀/寫(xiě)次數(shù)的計(jì)算方法(掌握)。
(三)重點(diǎn)與難點(diǎn)
重點(diǎn):外部排序過(guò)程和實(shí)現(xiàn)方法;多路并歸算法及其實(shí)現(xiàn); 難點(diǎn):最佳并歸樹(shù)的構(gòu)造方法及其應(yīng)用。
實(shí)踐教學(xué)部分:上機(jī)實(shí)驗(yàn)分4個(gè)專題,每個(gè)專題可提供2~4個(gè)難度不等的題目供選。
實(shí)驗(yàn)一
停車場(chǎng)管理系統(tǒng)
(一)實(shí)驗(yàn)內(nèi)容 以棧模擬車場(chǎng),以隊(duì)列模擬車場(chǎng)外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表結(jié)構(gòu)實(shí)現(xiàn)。
(二)實(shí)驗(yàn)過(guò)程 編程實(shí)現(xiàn)實(shí)驗(yàn)內(nèi)容。
(三)實(shí)驗(yàn)教學(xué)基本要求
通過(guò)實(shí)例,使學(xué)生掌握棧和隊(duì)列兩種特殊的線性結(jié)構(gòu),掌握棧和隊(duì)列的特點(diǎn)。實(shí)驗(yàn)后學(xué)生提交實(shí)驗(yàn)報(bào)告。
(四)實(shí)驗(yàn)設(shè)備和材料 計(jì)算機(jī)。
(五)實(shí)驗(yàn)學(xué)時(shí) 4學(xué)時(shí)
實(shí)驗(yàn)二
教學(xué)計(jì)劃編制問(wèn)題
(一)實(shí)驗(yàn)內(nèi)容
假設(shè)任何專業(yè)都有固定的學(xué)習(xí)年限,每學(xué)年含兩學(xué)期,每學(xué)期的時(shí)間長(zhǎng)度和學(xué)分上限值均相等。每個(gè)專業(yè)開(kāi)設(shè)的課程都是確定的,而且課程在開(kāi)設(shè)時(shí)間的安排必須滿足先修關(guān)系。每門課程有哪些先修課程是確定的,可以有任意多門,也可以沒(méi)有。每門課恰好占一個(gè)學(xué)期。編制一個(gè)教學(xué)計(jì)劃程序。
(二)實(shí)驗(yàn)過(guò)程編程實(shí)現(xiàn)實(shí)驗(yàn)內(nèi)容。
(三)實(shí)驗(yàn)教學(xué)基本要求
通過(guò)實(shí)例,使學(xué)生熟悉圖的各種存儲(chǔ)結(jié)構(gòu)的特性,掌握如何應(yīng)用圖結(jié)構(gòu)解決具體問(wèn)題。實(shí)驗(yàn)后學(xué)生提交實(shí)驗(yàn)報(bào)告。
(四)實(shí)驗(yàn)設(shè)備和材料 計(jì)算機(jī)。
(五)實(shí)驗(yàn)學(xué)時(shí) 2學(xué)時(shí)
實(shí)驗(yàn)三
最小生成樹(shù)問(wèn)題
(一)實(shí)驗(yàn)內(nèi)容
利用克魯斯卡爾算法求最小生成樹(shù)。以文本形式輸出樹(shù)中各條邊以及他們的權(quán)值。
(二)實(shí)驗(yàn)過(guò)程 編程實(shí)現(xiàn)實(shí)驗(yàn)內(nèi)容
(三)實(shí)驗(yàn)教學(xué)基本要求
通過(guò)實(shí)例,使學(xué)生熟悉圖的各種存儲(chǔ)結(jié)構(gòu)的特性,掌握如何應(yīng)用圖結(jié)構(gòu)解決具體問(wèn)題。實(shí)驗(yàn)后學(xué)生提交實(shí)驗(yàn)報(bào)告。
(四)實(shí)驗(yàn)設(shè)備和材料 計(jì)算機(jī)。
(五)實(shí)驗(yàn)學(xué)時(shí) 2學(xué)時(shí)
實(shí)驗(yàn)四
哈希表設(shè)計(jì)
(一)實(shí)驗(yàn)內(nèi)容
假設(shè)人名為中國(guó)人的漢語(yǔ)拼音形式。待填入哈希表的人名共有30個(gè),取平均查找長(zhǎng)度的上限為2。哈希函數(shù)用除留余數(shù)法構(gòu)造,用偽隨機(jī)探測(cè)再散列法處理沖突。
(二)實(shí)驗(yàn)過(guò)程 編程實(shí)現(xiàn)實(shí)驗(yàn)內(nèi)容
(三)實(shí)驗(yàn)教學(xué)基本要求 掌握索引技術(shù)的使用。
(四)實(shí)驗(yàn)設(shè)備和材料 計(jì)算機(jī)
(五)實(shí)驗(yàn)學(xué)時(shí) 4學(xué)時(shí)
五、課程教學(xué)的基本要求和主要環(huán)節(jié)
本課程可采用課堂講授、課堂討論、習(xí)題課等進(jìn)行課堂教學(xué);條件允許可采用cai、電子教案、幻燈片、參觀等進(jìn)行輔助教學(xué);每章布置3~6道習(xí)題以鞏固教學(xué);在課程后半程,安排3~4個(gè)上機(jī)實(shí)驗(yàn),讓學(xué)生應(yīng)用數(shù)據(jù)結(jié)構(gòu)的理論、方法,分組設(shè)計(jì)幾個(gè)較大的軟件,使理論與實(shí)際相結(jié)合。
考試采用閉卷方式??偝煽?jī)由平時(shí)成績(jī)和考試成績(jī)組成。平時(shí)成績(jī)占30%,考試成績(jī)占70%。
六、本課程與其它課程的聯(lián)系與分工
先修課包括:集合論,圖論,高級(jí)語(yǔ)言(結(jié)構(gòu)或記錄,指針);
后續(xù)課包括:數(shù)據(jù)庫(kù),編譯原理,操作系統(tǒng)等。
七、建議教材與參考教材
《數(shù)據(jù)結(jié)構(gòu)》(c語(yǔ)言版)
嚴(yán)蔚敏等
清華大學(xué)出版社
1997 《數(shù)據(jù)結(jié)構(gòu)題集》
嚴(yán)蔚敏等
清華大學(xué)出版社
1999
《數(shù)據(jù)結(jié)構(gòu)習(xí)題與解析》
李春葆
清華大學(xué)出版社
2004
八、負(fù)責(zé)人
撰稿人:劉景匯、李玉香
審稿人:
系(院)領(lǐng)導(dǎo):
數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)教學(xué)大綱 數(shù)據(jù)結(jié)構(gòu)課程大綱篇五
《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)大綱
data structure 執(zhí)筆人:
編寫(xiě)日期:
一、課程基本信息
1.課程編號(hào):
2.課程性質(zhì)/類別: 必修課 / 專業(yè)主干課
3.學(xué)時(shí)/學(xué)分: 48 學(xué)時(shí)(另實(shí)驗(yàn)16學(xué)時(shí))/ 4 學(xué)分
4.適用專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、網(wǎng)絡(luò)工程、信息管理與信息系統(tǒng)等專業(yè)
二、課程教學(xué)目標(biāo)及學(xué)生應(yīng)達(dá)到的能力
數(shù)據(jù)結(jié)構(gòu)課程是計(jì)算機(jī)相關(guān)專業(yè)的專業(yè)基礎(chǔ)課、必修課程,主要介紹用計(jì)算機(jī)解決一系列問(wèn)題特別是非數(shù)值信息處理問(wèn)題時(shí)所用的各種組織數(shù)據(jù)的方法、存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的方法以及在各種結(jié)構(gòu)上執(zhí)行操作的算法。通過(guò)本課程的學(xué)習(xí),要求學(xué)生掌握各種數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)、存儲(chǔ)表示、運(yùn)算方法以及在計(jì)算機(jī)科學(xué)中最基本的應(yīng)用,培養(yǎng)、訓(xùn)練學(xué)生選用合適的數(shù)據(jù)結(jié)構(gòu)和編寫(xiě)質(zhì)量高、風(fēng)格好的應(yīng)用程序的能力,培養(yǎng)學(xué)生分析問(wèn)題、解決問(wèn)題的能力,并為后續(xù)課程的學(xué)習(xí)打下良好的理論基礎(chǔ)和實(shí)踐基礎(chǔ)。
三、課程教學(xué)內(nèi)容與基本要求
(一)緒論(3 學(xué)時(shí))1.主要內(nèi)容:
(1)介紹什么是數(shù)據(jù)結(jié)構(gòu);
(2)基本概念和術(shù)語(yǔ): 數(shù)據(jù)、數(shù)據(jù)元素、數(shù)據(jù)對(duì)象,以及數(shù)據(jù)結(jié)構(gòu)的定義、邏輯結(jié)構(gòu)、物理結(jié)構(gòu)(理解)數(shù)據(jù)類型、抽象數(shù)據(jù)類型;
(3)抽象數(shù)據(jù)類型的表示與實(shí)現(xiàn);
(4)算法和算法分析: 算法的概念、算法設(shè)計(jì)的要求以及算法效率的度量。2.基本要求
(1)了解學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的重要性;
(2)掌握數(shù)據(jù)結(jié)構(gòu)的定義及相關(guān)概念和術(shù)語(yǔ);(3)了解抽象數(shù)據(jù)類型的定義、表示與實(shí)現(xiàn)方法;(4)理解算法的概念、特點(diǎn)并掌握度量其效率的基本方法。3.自學(xué)內(nèi)容:
類c語(yǔ)言的書(shū)寫(xiě)規(guī)范。
(二)線性表(6 學(xué)時(shí))1.主要內(nèi)容:
(1)線性表的抽象數(shù)據(jù)類型定義和相關(guān)概念:數(shù)據(jù)項(xiàng)、記錄、文件等;(2)線性表順序存儲(chǔ)表示和基本操作的實(shí)現(xiàn);(3)線性表的鏈?zhǔn)酱鎯?chǔ)表示和基本操作的實(shí)現(xiàn);
(4)稀疏多項(xiàng)式的抽象數(shù)據(jù)類型定義、表示和加法的實(shí)現(xiàn)。2.基本要求
(1)掌握線性表的定義和特點(diǎn);
(2)熟練掌握線性表的順序存儲(chǔ)表示和插入、刪除、查找等實(shí)現(xiàn)算法;
(3)熟練掌握單鏈表、循環(huán)鏈表、雙向鏈表三種鏈表的表示,以及單鏈表的查找、插入、刪除、創(chuàng)建等實(shí)現(xiàn)算法。
3.自學(xué)內(nèi)容:
靜態(tài)鏈表。
(三)棧和隊(duì)列(5 學(xué)時(shí))1.主要內(nèi)容:
(1)棧和隊(duì)列的結(jié)構(gòu)特性和抽象數(shù)據(jù)類型定義;(2)棧和隊(duì)列的順序存儲(chǔ)表示和實(shí)現(xiàn);(3)棧和隊(duì)列的鏈?zhǔn)酱鎯?chǔ)表示和實(shí)現(xiàn);(4)棧和隊(duì)列在程序設(shè)計(jì)中的應(yīng)用。2.基本要求
(1)掌握棧和隊(duì)列兩種抽象數(shù)據(jù)類型的特點(diǎn);
(2)掌握棧的兩種存儲(chǔ)表示和實(shí)現(xiàn),特別注意棧滿??盏臈l件;(3)掌握隊(duì)列的兩種存儲(chǔ)表示和實(shí)現(xiàn),特別注意隊(duì)滿隊(duì)空的條件;(4)了解遞歸算法與棧的關(guān)系。3.自學(xué)內(nèi)容:
鏈棧,離散事件模擬
(四)串(3 學(xué)時(shí))1.主要內(nèi)容:
(1)串的抽象數(shù)據(jù)類型定義;
(2)串的表示和實(shí)現(xiàn): 定長(zhǎng)順序存儲(chǔ)結(jié)構(gòu)和堆分配存儲(chǔ)結(jié)構(gòu);(3)串的各種基本操作的實(shí)現(xiàn)及其應(yīng)用;(4)串的模式匹配操作。2.基本要求
(1)熟悉串的一些基本操作的定義,并能利用基本操作實(shí)現(xiàn)串的其它操作;(2)掌握串的定長(zhǎng)順序存儲(chǔ)結(jié)構(gòu)以及基本操作的實(shí)現(xiàn);(3)掌握串的堆分配存儲(chǔ)結(jié)構(gòu)以及基本操作的實(shí)現(xiàn);(4)掌握串的簡(jiǎn)單模式匹配算法,理解kmp算法。3.自學(xué)內(nèi)容:
串操作的應(yīng)用實(shí)例。
(五)數(shù)組和廣義表(4 學(xué)時(shí))1.主要內(nèi)容:
(1)數(shù)組的抽象數(shù)據(jù)類型定義及其順序表示和實(shí)現(xiàn);(2)特殊矩陣和稀疏矩陣的壓縮存儲(chǔ);(3)廣義表的抽象數(shù)據(jù)類型定義和存儲(chǔ)結(jié)構(gòu)。2.基本要求
(1)了解數(shù)組的兩種存儲(chǔ)表示方法,并掌握數(shù)組在以行為主的存儲(chǔ)結(jié)構(gòu)中的地址計(jì)算方法;(2)掌握對(duì)特殊矩陣進(jìn)行壓縮存儲(chǔ)時(shí)的下標(biāo)變換公式;
(3)熟悉稀疏矩陣的三元組順序表存儲(chǔ)結(jié)構(gòu)下的一般轉(zhuǎn)置和快速轉(zhuǎn)置算法;了解十字鏈表等存儲(chǔ)結(jié)構(gòu);
(4)掌握廣義表的結(jié)構(gòu)特點(diǎn)、取表頭表尾操作,及其存儲(chǔ)表示方法。3.自學(xué)內(nèi)容:
采用十字鏈表存儲(chǔ)結(jié)構(gòu)創(chuàng)建稀疏矩陣。
(六)樹(shù)和二叉樹(shù)(10 學(xué)時(shí))1.主要內(nèi)容:
(1)樹(shù)的抽象數(shù)據(jù)類型定義和基本術(shù)語(yǔ);
(2)二叉樹(shù)的抽象數(shù)據(jù)類型定義、性質(zhì)和存儲(chǔ)結(jié)構(gòu);(3)二叉樹(shù)的遍歷;
(4)線索二叉樹(shù)的定義、遍歷及線索化二叉樹(shù);
(5)樹(shù)的存儲(chǔ)結(jié)構(gòu)、樹(shù)和森林的遍歷以及與二叉樹(shù)的轉(zhuǎn)換;(6)huffman樹(shù)及其應(yīng)用。2.基本要求
(1)掌握樹(shù)型結(jié)構(gòu)的特點(diǎn)和基本術(shù)語(yǔ);
(2)熟練掌握二叉樹(shù)的性質(zhì),了解相應(yīng)的證明方法;
(3)了解二叉樹(shù)的順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),熟練掌握二叉鏈表存儲(chǔ)結(jié)構(gòu);(4)熟練掌握二叉樹(shù)三種遍歷的遞歸算法和中序遍歷非遞歸算法,能靈活運(yùn)用遍歷算法實(shí)現(xiàn)二叉樹(shù)的其他操作;
(5)熟練掌握二叉樹(shù)的線索化過(guò)程,以及在中序線索二叉樹(shù)上找結(jié)點(diǎn)的前驅(qū)與后繼的方法;
(6)熟悉樹(shù)的各種存儲(chǔ)結(jié)構(gòu)及其特點(diǎn),掌握樹(shù)和森林與二叉樹(shù)的轉(zhuǎn)換方法;(7)了解huffman樹(shù)的特性,掌握建立huffman樹(shù)和huffman編碼的方法。3.自學(xué)內(nèi)容:
先序、后序遍歷二叉樹(shù)非遞歸算法,層次遍歷二叉樹(shù)算法。
(七)圖(9 學(xué)時(shí))1.主要內(nèi)容:(1)圖的定義和術(shù)語(yǔ);
(2)圖的四種存儲(chǔ)結(jié)構(gòu):數(shù)組表示法(鄰接矩陣)、鄰接表、十字鏈表和鄰接多重表;(3)圖的兩種遍歷策略:深度優(yōu)先遍歷和廣度優(yōu)先遍歷;(4)圖的連通性和最小生成樹(shù);
(5)有向無(wú)環(huán)圖及其應(yīng)用:拓?fù)渑判蚝完P(guān)鍵路徑;(6)最短路徑問(wèn)題。2.基本要求
(1)熟悉圖的定義和術(shù)語(yǔ);
(2)了解圖的存儲(chǔ)結(jié)構(gòu),熟練掌握數(shù)組表示法(鄰接矩陣)和鄰接表存儲(chǔ)表示;(3)熟練掌握?qǐng)D的深度優(yōu)先遍歷和廣度優(yōu)先遍歷算法;(4)掌握無(wú)向連通帶權(quán)圖的最小生成樹(shù)求解算法;
(5)了解有向無(wú)環(huán)圖、aov網(wǎng)、aoe網(wǎng)及其在實(shí)際中的應(yīng)用,熟悉拓?fù)渑判蛩惴ê完P(guān)鍵路徑算法;
(6)熟悉兩種最短路徑問(wèn)題求解算法。3.自學(xué)內(nèi)容:
樹(shù)的先根遍歷算法與圖的深度優(yōu)先遍歷算法比較;
樹(shù)的層次遍歷算法與圖的廣度優(yōu)先遍歷算法比較。
(八)查找(4 學(xué)時(shí))1.主要內(nèi)容:
(1)查找的基本概念和相關(guān)術(shù)語(yǔ);
(2)靜態(tài)查找表:順序查找、折半查找和索引順序表查找;(3)動(dòng)態(tài)查找表:二叉排序樹(shù)的查找、插入和刪除;(4)哈希表。2.基本要求
(1)了解查找的作用,熟悉相關(guān)術(shù)語(yǔ);
(2)熟練掌握順序查找、折半查找和索引順序表查找;(3)熟練掌握二叉排序樹(shù)的特性、構(gòu)造和查找方法;
(4)熟練掌握哈希表的構(gòu)造方法,特別是哈希函數(shù)和處理沖突方法的選??;(5)通過(guò)分析等概率下的平均查找長(zhǎng)度來(lái)衡量各種查找方法的效率。3.自學(xué)內(nèi)容:
平衡二叉樹(shù)。
(九)內(nèi)部排序(4 學(xué)時(shí))1.主要內(nèi)容:
(1)排序的基本概念和相關(guān)術(shù)語(yǔ);
(2)插入排序:直接插入排序、折半插入排序和希爾排序;(3)交換排序:起泡排序和快速排序;(4)選擇排序:簡(jiǎn)單選擇排序和堆排序;(5)歸并排序:二路歸并排序;(6)基數(shù)排序:鏈?zhǔn)交鶖?shù)排序;(7)各種內(nèi)部排序方法的比較討論。2.基本要求
(1)了解排序作用,熟悉相關(guān)術(shù)語(yǔ);
(2)掌握多種排序的基本思想、算法特點(diǎn)和排序過(guò)程,分析它們的時(shí)間復(fù)雜度、空間復(fù)雜度和穩(wěn)定性。
3.自學(xué)內(nèi)容:
二路插入排序、表插入排序和樹(shù)形選擇排序。
四、教學(xué)安排建議
1.作業(yè)練習(xí) 完成每章的教學(xué)后進(jìn)行布置習(xí)題,使用教材配套的《數(shù)據(jù)結(jié)構(gòu)題集(c語(yǔ)言版)》。盡量選擇基礎(chǔ)的并且加注了標(biāo)記的題,應(yīng)注重于精,而不要求多。要求積極獨(dú)立完成所布置的習(xí)題,建議安排至少六次。
2.案例分析
可參考選擇以下一些案例:(1)學(xué)生通訊錄管理系統(tǒng),(2)表達(dá)式求值問(wèn)題(3)交通咨詢系統(tǒng),等。3.專題研討
可參考選擇以下一些:(1)最小生成樹(shù)問(wèn)題(2)航班信息查詢與檢索系統(tǒng),(3)內(nèi)部排序算法比較,等。
4.實(shí)驗(yàn)安排
為了達(dá)到理論與實(shí)際應(yīng)用的結(jié)合,讓學(xué)生能將所學(xué)知識(shí)應(yīng)用于實(shí)際問(wèn)題的求解中,培養(yǎng)學(xué)生的實(shí)際動(dòng)手能力,從而加深對(duì)概念及所學(xué)知識(shí)的理解,靈活、牢固掌握教材內(nèi)容,提高程序設(shè)計(jì)及解決實(shí)際問(wèn)題的能力,實(shí)驗(yàn)環(huán)節(jié)的安排非常重要。
建議實(shí)驗(yàn)安排為八次,共16學(xué)時(shí),分別如下:
實(shí)驗(yàn)1 線性表的順序存儲(chǔ)結(jié)構(gòu)的實(shí)現(xiàn)(2學(xué)時(shí))
實(shí)驗(yàn)2 線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的實(shí)現(xiàn)(2學(xué)時(shí))
實(shí)驗(yàn)3 棧的算法實(shí)現(xiàn)(2學(xué)時(shí))
實(shí)驗(yàn)4 隊(duì)列的算法實(shí)現(xiàn)(2學(xué)時(shí))
實(shí)驗(yàn)5 串類型及操作(2學(xué)時(shí))
實(shí)驗(yàn)6 二叉樹(shù)的建立與遍歷(2學(xué)時(shí))
實(shí)驗(yàn)7 圖的建立與遍歷(2學(xué)時(shí))
實(shí)驗(yàn)8 查找與排序(2學(xué)時(shí))注:教師可根據(jù)教學(xué)實(shí)際情況(如:學(xué)生情況及學(xué)時(shí)情況等),適當(dāng)調(diào)整實(shí)踐教學(xué)內(nèi)容及學(xué)時(shí)分配。
五、課程考核
1.考核形式及成績(jī)?cè)u(píng)定辦法
本課程考核形式為:平時(shí)成績(jī)占40%,期末考試成績(jī)占60%。其中平時(shí)成績(jī)的結(jié)構(gòu)分包括:課堂表現(xiàn)10%、平時(shí)作業(yè)10%和實(shí)驗(yàn)20%,期末考試為閉卷筆試考試:120分鐘,卷面分滿分100分。期末考試成績(jī)低于50分者,本課程成績(jī)按不及格論處。
2.本課程考核的基本要求
課堂表現(xiàn)10%:包括課堂考勤和課堂提問(wèn),如果缺課課時(shí)達(dá)到本課程教學(xué)時(shí)數(shù)的1/3,則取消考試資格。
平時(shí)作業(yè)10%:根據(jù)上交次數(shù)及完成情況進(jìn)行評(píng)定。
實(shí)驗(yàn)20%:根據(jù)各次實(shí)驗(yàn)完成情況及實(shí)驗(yàn)報(bào)告成績(jī)進(jìn)行評(píng)定。
期末考試60%:本課程的期末考試考核內(nèi)容主要包括線性表、棧與隊(duì)列、串、數(shù)組與廣義表、樹(shù)與二叉樹(shù)、圖、查找和內(nèi)部排序。其中,線性表、二叉樹(shù)、圖、查找和內(nèi)部排序內(nèi)容為考核的重點(diǎn)。
六、本課程與其它課程的先行后續(xù)關(guān)系
先行課程:《高級(jí)程序設(shè)計(jì)語(yǔ)言》、《離散數(shù)學(xué)》
后續(xù)課程:《操作系統(tǒng)》、《編譯原理》、《數(shù)據(jù)庫(kù)理論》、《算法分析與設(shè)計(jì)》等
七、建議教材及教學(xué)參考書(shū)
1.教材:
嚴(yán)蔚敏,吳偉民編著,《數(shù)據(jù)結(jié)構(gòu)(c語(yǔ)言版)》,清華大學(xué)出版,2012.5 嚴(yán)蔚敏,吳偉民編著,《數(shù)據(jù)結(jié)構(gòu)題集(c語(yǔ)言版)》,清華大學(xué)出版,2012.5 2.參考書(shū):
[1] 許卓群,張乃孝,楊冬青,唐世渭,《數(shù)據(jù)結(jié)構(gòu)》,高等教育出版社,2004.[2] 徐孝凱,《數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)明教程》,清華大學(xué)出版社,1995 [3] 陳文博,朱青,《數(shù)據(jù)結(jié)構(gòu)與算法》,機(jī)械工業(yè)出版社,1996 [4] 李云清,楊慶紅,揭安全編著,《數(shù)據(jù)結(jié)構(gòu)》(c語(yǔ)言版),人民郵電出版社,2007.[5] 楊秀金主編,《數(shù)據(jù)結(jié)構(gòu)》,西安電子科技大學(xué)出版社,2002.[6] 李廉治,姜文清,郭福順,《數(shù)據(jù)結(jié)構(gòu)》,大連理工大學(xué)出版社,1989
[7] aho a v, hopcroft j e, ullman j structures and n-wesley publishing company,inc.,1983
[8] baron r j, shapiro l structures and their nostrand reinhold company, 1980
[9] esakov j, weiss structures: an advanced approach using ce-hall, inc.,1989
[10] [美]s巴斯《計(jì)算機(jī)算法:設(shè)計(jì)和分析引論》朱洪等譯,復(fù)旦大學(xué)出版社,1985