數(shù)據(jù)結(jié)構(gòu) 課程大綱及學(xué)時安排 4學(xué)分_第1頁
數(shù)據(jù)結(jié)構(gòu) 課程大綱及學(xué)時安排 4學(xué)分_第2頁
數(shù)據(jù)結(jié)構(gòu) 課程大綱及學(xué)時安排 4學(xué)分_第3頁
數(shù)據(jù)結(jié)構(gòu) 課程大綱及學(xué)時安排 4學(xué)分_第4頁
數(shù)據(jù)結(jié)構(gòu) 課程大綱及學(xué)時安排 4學(xué)分_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

《數(shù)據(jù)結(jié)構(gòu)-C++語言描述》4學(xué)分課程教學(xué)大綱及學(xué)時安排

一、課程簡介

課程名稱:數(shù)據(jù)結(jié)構(gòu)一C++語言描述

學(xué)時/學(xué)分:64

先修課程:C++語言程序設(shè)計,離散數(shù)學(xué)

面向?qū)ο螅弘婎悺⑿畔㈩悓I(yè)、新工科本科生

教學(xué)目標(biāo):本課程分析和討論了實際生活應(yīng)用中具有各種關(guān)系(包括集合關(guān)系、線性關(guān)

系、樹關(guān)系和圖關(guān)系)的數(shù)據(jù)集合的邏輯結(jié)構(gòu)、基本操作、物理結(jié)構(gòu)、基本

操作的算法實現(xiàn)和典型的應(yīng)用,目的是使學(xué)生學(xué)會分析、研究計算機(jī)所要加

工處理的數(shù)據(jù)的特征,掌握組織數(shù)據(jù)、存儲數(shù)據(jù)和處理數(shù)據(jù)的基本方法,培

養(yǎng)在實際應(yīng)用中選擇合適的數(shù)據(jù)結(jié)構(gòu)和設(shè)計相應(yīng)算法的能力

主要內(nèi)容:數(shù)據(jù)結(jié)構(gòu)和算法的基本概念、線性結(jié)構(gòu)、棧和隊列、樹形結(jié)構(gòu)、圖結(jié)構(gòu)、查

找和排序。本書對每一種結(jié)構(gòu)從存儲、算法、應(yīng)用等方面進(jìn)行了分析,所有

的算法都借助C++語言、利用面向?qū)ο蟮姆椒ㄟM(jìn)行了設(shè)計和實現(xiàn)。

二、教學(xué)內(nèi)容

第一章緒論

主要內(nèi)容:數(shù)據(jù)結(jié)構(gòu)基本概念,數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)、基本操作、物理結(jié)構(gòu)、操作實現(xiàn)、

典型應(yīng)用。算法的定義及其基本要求,算法的時間復(fù)雜度計算,算法的空間復(fù)雜度計算。

C++語言實現(xiàn)(高級話題),含面向?qū)ο?、泛型機(jī)制、const機(jī)制、異常處理。

第二章線性表

主要內(nèi)容:線性表的定義及ADT,順序表及基本運算實現(xiàn),單鏈表及其基本運算實現(xiàn),

單向循環(huán)鏈表、雙鏈表、雙向循環(huán)鏈表及基本操作實現(xiàn),線性表典型應(yīng)用:一元多項式

加法、串及其基本操作、稀疏矩陣。

第三章棧和隊列

主要內(nèi)容:棧的定義及相關(guān)概念、順序棧、鏈?zhǔn)綏<捌浠静僮鲗崿F(xiàn)、共享棧的概念、

棧的典型應(yīng)用(括號配對檢查、表達(dá)式計算)。隊列的定義及相關(guān)概念、順序隊列、順

序循環(huán)隊列、鏈?zhǔn)疥犃屑捌浠静僮鞯膶崿F(xiàn)、優(yōu)先隊列。隊列的應(yīng)用-單服務(wù)窗口的模

擬。

第四章樹

主要內(nèi)容:樹的定義及相關(guān)術(shù)語,二叉樹的定義及性質(zhì),二叉樹的順序、鏈?zhǔn)酱鎯Γ?biāo)

準(zhǔn)和廣義標(biāo)準(zhǔn)存儲),二叉樹的標(biāo)準(zhǔn)存儲及其基本操作的實現(xiàn),二叉樹遍歷的實現(xiàn),包

括層次遍歷算法、前序、中序及后序三種遍歷的遞歸和非遞歸算法,線索樹的建立及遍

歷,根據(jù)遍歷序列確定二叉樹,二叉樹的應(yīng)用--包括表達(dá)式樹的建立及計算、哈夫曼樹、

哈夫曼算法及哈夫曼編碼、等價類問題、樹和森林及其相關(guān)運算。

第五章圖

主要內(nèi)容:圖的基本概念和術(shù)語,圖的鄰接矩陣、加權(quán)鄰接矩陣的存儲和基本操作實現(xiàn),

圖的鄰接表存儲及基本操作的實現(xiàn),鄰接多重表和十字鏈表,圖的深度優(yōu)先遍歷的遞歸

和非遞歸算法,圖的廣度優(yōu)先遍歷算法,圖遍歷的應(yīng)用(無向圖的連通性、有向圖的連

通性),生成樹和最小代價生成樹、求最小生成樹的經(jīng)典算法(prim和kruskal算法),

最短路徑問題(包括單源最短路徑、所有頂點間的最短路徑及其經(jīng)典算法),AOV網(wǎng)和

AOE網(wǎng)(包括拓?fù)渑判颉㈥P(guān)鍵路徑及其算法)。

第六章查找

主要內(nèi)容:靜態(tài)查找的概念,靜態(tài)查找表的存儲,順序查找、折半查找、插值查找、分

塊查找的實現(xiàn)。動態(tài)查找和二叉查找樹的概念,二叉查找樹的查找、插入、刪除的遞歸

和非遞歸算法,找第i小元素的順序統(tǒng)計,二叉平衡查找樹(AVL樹)的定義、AVL

樹的插入、刪除及其調(diào)整方法,AVL樹的最大高度,紅黑樹的定義、紅黑樹的插入、

刪除及其調(diào)整方法,B樹和B+樹的概念,B及B+樹的插入、刪除及相關(guān)計算。哈希方

法及其相關(guān)概念、常見的哈希函數(shù)、哈希沖突解決方法,哈希方法的基本操作實現(xiàn)。

第七章排序

主要內(nèi)容:內(nèi)排序及相關(guān)概念,冒泡排序、簡單插入排序、希爾排序、歸并排序、快速

排序、選擇排序、堆排序及優(yōu)先隊列、基數(shù)排序算法,各種排序算法的效率和穩(wěn)定性。

外部排序過程,歸并排序,K路歸并,初始?xì)w并段,最佳歸并樹。

三、教學(xué)進(jìn)度安排:

4學(xué)分共計64課時

第一章緒論(5學(xué)時)

1.1數(shù)據(jù)結(jié)構(gòu)定義(1學(xué)時)

1.1.1數(shù)據(jù)的邏輯結(jié)構(gòu)

1.1.2數(shù)據(jù)的存儲結(jié)構(gòu)

1.1.3基本操作的實現(xiàn)

1.1.4典型應(yīng)用

1.2算法及算法分析(2學(xué)時)

1.2.1算法及其要求

1.2.2時間復(fù)雜性的度量

1.2.3空間復(fù)雜性的度量

1.3數(shù)據(jù)結(jié)構(gòu)的C++語言實現(xiàn)(2學(xué)時)

1.3.1面向?qū)ο?/p>

1.3.2泛型機(jī)制

1.3.3const機(jī)制

1.3.4異常處理

1.4小結(jié)

1.5習(xí)題

第二章線性表(8學(xué)時)

2.1線性表的定義及ADT(1學(xué)時)

2.2線性表的順序存儲結(jié)構(gòu)(2學(xué)時)

2.2.1順序表

2.2.2順序表基本操作的實現(xiàn)

2.3線性表的鏈接存儲結(jié)構(gòu)(3學(xué)時)

2.3.1單鏈表

2.3.2單鏈表基本操作的實現(xiàn)

2.3.3單向循環(huán)鏈表

2.3.4雙鏈表、雙向循環(huán)鏈表

2.4線性表的應(yīng)用(2學(xué)時)

2.4.1一元多項式的加法

2.4.2字符串的存儲和實現(xiàn)

2.4.3稀疏矩陣

2.5小結(jié)

2.6習(xí)題

第三章棧和隊列(6學(xué)時)

3.1棧(2學(xué)時)

3.1.1棧的定義

3.1.2棧的順序存儲及實現(xiàn)

3.1.3棧的鏈?zhǔn)酱鎯皩崿F(xiàn)

3.2棧的應(yīng)用(2學(xué)時)

3.2.1括號配對檢查

3.2.2表達(dá)式計算

3.3隊列(1學(xué)時)

3.3.1隊列的定義及ADT

3.3.2隊列的順序存儲及實現(xiàn)

3.3.3隊列的鏈?zhǔn)酱鎯皩崿F(xiàn)

3.3.4優(yōu)先隊列

3.4隊列的應(yīng)用(1學(xué)時)

3.5小結(jié)

3.6習(xí)題

第四章樹及二叉樹(14學(xué)時)

4.1樹的定義、術(shù)語及結(jié)構(gòu)(1學(xué)時)

4.2二叉樹(2學(xué)時)

4.2.1二叉樹的定義

4.2.2二叉樹的性質(zhì)

4.2.3二叉樹的存儲和實現(xiàn)

4.3二叉樹的遍歷(4學(xué)時)

4.3.1二叉樹的遍歷及實現(xiàn)

4.3.2二叉線索樹

4.3.3遍歷序列確定二叉樹

4.4表達(dá)式樹(2學(xué)時)

4.4.1基本概念

4.4.2表達(dá)式樹的建立

4.4.3表達(dá)式的計算

4.5最優(yōu)二叉樹及其應(yīng)用(2學(xué)時)

4.5.1.基本概念

4.5.2哈夫曼算法的實現(xiàn)

4.5.3哈夫曼編碼

4.6等價類問題(1學(xué)時)

4.6.1.等價關(guān)系及等價類

4.6.2不相交集及其存儲

4.6.3不相交集的基本操作

4.7樹和森林(2學(xué)時)

4.7.1孩子兄弟表示法

4.7.2樹、森林與二叉樹的轉(zhuǎn)換

4.7.3樹和森林的遍歷

4.8小結(jié)

4.9習(xí)題

第五章圖(13學(xué)時)

5.1圖的基本概念(1學(xué)時)

5.1.1圖的概念及術(shù)語

5.1.2圖的抽象數(shù)據(jù)類型

5.2圖的存儲表示(4學(xué)時)

5.2.1鄰接矩陣和加權(quán)鄰接矩陣

5.2.2鄰接表

5.2.3鄰接多重表

5.2.4十字鏈表

5.3圖的遍歷和連通性(2學(xué)時)

5.3.1深度優(yōu)先遍歷

5.3.2廣度優(yōu)先遍歷

5.3.3圖的連通性

5.4最小代價生成樹(2學(xué)時)

5.4.1普里姆(Prim)算法

5.4.2克魯斯卡爾(KruscaI)算法

5.5最短路徑問題(2學(xué)時)

5.5.1單源最短路徑

5.5.2所有頂點對之間的最短路徑

5.6AOV網(wǎng)和AOE網(wǎng)(2學(xué)時)

5.6.1拓?fù)渑判?/p>

5.6.2關(guān)鍵路徑

5.7小結(jié)

5.8習(xí)題

第六章查找(12學(xué)時)

6.1靜態(tài)查找技術(shù)(1學(xué)時)

6.1.1順序查找

6.1.2折半查找

6.1.3插值查找

6.1.4分塊查找

6.2二叉查找樹(2學(xué)時)

6.2.1二叉查找樹的定義

6.2.2基本操作實現(xiàn)

6.2.3順序統(tǒng)計

6.3平衡二叉查找樹(AVL樹)(3學(xué)時)

6.3.1插入操作

6.3.2刪除操作

6.3.3最大高度

6.4紅黑樹(2學(xué)時)

6.4.1插入操作

6.4.2刪除操作

6.5B樹和B+樹(2學(xué)時)

6.5.1B樹

6.5.2B樹的查找分析

6.5.3B樹的插入

6.5.4B樹的刪除

6.5.5B+樹

6.6哈希(Hash)方法(2學(xué)時)

6.6.1常用的哈希函數(shù)

6.6.2線性探測法

6.6.3二次探測法

6.6.4鏈地址法

6.7小結(jié)

6.8習(xí)題

第七章排序(6學(xué)時)

7.1引言(7.1-7.32學(xué)時)

7.2冒泡排序

7.3插入排序

7.3.1簡單插入排序

7.3.2折半插入排序

7.3.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論