《數(shù)據(jù)結(jié)構(gòu)》課程教學大綱
課程名稱(中文/英文):數(shù)據(jù)結(jié)構(gòu)(Data Structure)
課程編號:9631214
課程類別:專業(yè)必修課
適用專業(yè):信息管理與信息系統(tǒng)、計算機科學與技術(shù)(計算機應用、軟件工程、網(wǎng)絡工程)
總學時數(shù):90,其中講授:54 學時;上機: 0學時;實驗:36 學時;課外: 0 學時
制訂單位:華南師范大學增城學院計算機系
一、教學大綱說明
1.課程的地位、作用和任務
本課程是計算機專業(yè)的重要基礎技術(shù)課程,通過討論數(shù)據(jù)的各種邏輯結(jié)構(gòu)、物理結(jié)構(gòu)以及相關(guān)算法,使學生能根據(jù)實際問題的需要選擇合適的數(shù)據(jù)結(jié)構(gòu)和設計算法,并為學習數(shù)據(jù)庫、操作系統(tǒng)等后繼課程打下基礎。
2.課程教學的目的和要求
本課程的教學要求是:要求學生學會分析要求計算機加工的數(shù)據(jù)對象的特性,以便選擇適當?shù)臄?shù)據(jù)邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)以及相應的算法,并初步掌握算法的時間分析和空間分析的技巧。另一方面,學習本課程的過程也是進行復雜程序設計的訓練過程,訓練學生應用各種典型算法進行具體應用問題的程序設計,這包括程序中變量設計、函數(shù)中參數(shù)設計、程序的書寫格式等方面的訓練,要求學生書寫的程序結(jié)構(gòu)清楚,正確易讀。
3.課程教學改革設想
本課程以培養(yǎng)學生實踐能力為中心,在教學中針對不同知識點采取不同教學策略,注重培養(yǎng)學生解決實際問題的能力,在實踐課中添加大量練習。并開設了《數(shù)據(jù)結(jié)構(gòu)課程設計》課程,培養(yǎng)學生解決綜合問題的能力。
4.課程與其它課程的聯(lián)系
本課程為專業(yè)基礎課,在一門語言課作為先行課的基礎上,作為其他專業(yè)主干課程的先行課。
5.教材與教學參考書
1)《數(shù)據(jù)結(jié)構(gòu)》(C語言版本) 嚴蔚敏 編 清華大學出版社
2)《數(shù)據(jù)結(jié)構(gòu)》中國輕工業(yè)出版社
3)《使用數(shù)據(jù)結(jié)構(gòu)題解》 清華大學出版社 徐士良 編著
6.考試改革設想及成績計算方法
在考試題目類型的選擇上,加大對主觀知識考核的比例,在傳統(tǒng)題型的分值上做調(diào)整,并增加與專業(yè)、生活有關(guān)的應用題。期末成績由以下幾方面組成:期末筆試,期末機試,平時作業(yè)和上機作業(yè)(包括獨立完成情況和理解情況)。
二、課程的教學內(nèi)容、重點和難點(按章節(jié)填寫)
第一章 緒論
1、掌握各種基本術(shù)語的含義、區(qū)別與聯(lián)系。
2、掌握基本的數(shù)據(jù)結(jié)構(gòu)類型和它們的主要特點,并能舉例。
3、掌握計算語句頻度和估算算法時間復雜度、空間復雜度的方法。
第二章 線性表
1、掌握線性表的邏輯結(jié)構(gòu)特性。
2、熟練掌握線性表的兩種不同存儲結(jié)構(gòu)(順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu))的描述方法和各種基本操作的算法。
3、掌握單鏈表和循環(huán)鏈表。
第三章 棧和隊列
1、了解棧和隊列的結(jié)構(gòu)特點及存儲結(jié)構(gòu)。
2、掌握棧和隊列在兩種存儲結(jié)構(gòu)下實現(xiàn)基本操作的算法。
3、熟練掌握棧的鏈式存儲結(jié)構(gòu)和循環(huán)隊列。
第四章 數(shù)組和串
1、了解數(shù)組基本概念。
2、了解串及相關(guān)操作。
第五章 樹
1、掌握樹的定義、各個基本術(shù)語以及樹的各種存儲結(jié)構(gòu)。
2、了解樹、森林與二叉樹的轉(zhuǎn)換方法。
3、了解樹和森林的遍歷。
第六章 二叉樹及應用
1、掌握二叉樹的基本概念、性質(zhì)、各種存儲結(jié)構(gòu)的特點及其基本操作的實現(xiàn)。
2、熟練掌握二叉樹各種遍歷算法及其應用。
3、掌握如何建立哈夫曼樹,了解哈夫曼樹在編碼、判定問題中的應用。
第七章 圖
1、了解圖的基本術(shù)語。
2、掌握圖的各種存儲結(jié)構(gòu)及使用原則
3、掌握圖的深度優(yōu)先搜索和廣度優(yōu)先搜索算法。
4、掌握圖生成最小生成樹的方法,知道求最短路徑的方法。
5、拓撲排序的應用實例和排序過程中棧的變化
6、了解網(wǎng)絡中的關(guān)鍵路徑及其求解。
7、了解圖的若干應用算法。
第八章 查找
1、了解查找的基本概念。
2、熟練掌握順序查找、二分查找和分塊查找的特點及算法。、
3、掌握二叉排序樹的構(gòu)造,查找及刪除算法。
4、了解散列表的構(gòu)造方法和處理沖突的基本方法。
5、掌握查找成功時平均查找長度的計算方法。
第九章 排序
1、了解排序的基本概念。
2、熟練掌握各種內(nèi)部排序方法的算法。
3、熟悉各種內(nèi)部排序方法的特點、性能,能根據(jù)不同的實際情況比較、分析、選用不同的內(nèi)部排序方法。
4、了解外部排序的概念和特點。
三、學時分配
教學內(nèi)容 | 各教學環(huán)節(jié)學時分配 | 備注 | |||||||
章節(jié) | 教學基本內(nèi)容 | 講授 | 實驗 | 討論 | 習題 | 實踐 | 其它 | 小計 | |
第一章 | 緒 論 | 2 | 2 | ||||||
第二章 | 線性表 | 8 | 4 | 8 | |||||
第三章 | 棧和隊列 | 6 | 6 | 10 | |||||
第四章 | 數(shù)組和串 | 3 | 3 | ||||||
第五章 | 樹 | 5 | 0 | 7 | |||||
第六章 | 二叉樹及應用 | 11 | 8 | 17 | |||||
第七章 | 圖 | 7 | 6 | 13 | |||||
第八章 | 查 找 | 6 | 6 | 10 | |||||
第九章 | 排 序 | 6 | 6 | 10 | |||||
合計 | 54 | 36 | 80 |