《數據結構與算法一Python版》課程教學大綱_第1頁
《數據結構與算法一Python版》課程教學大綱_第2頁
《數據結構與算法一Python版》課程教學大綱_第3頁
《數據結構與算法一Python版》課程教學大綱_第4頁
《數據結構與算法一Python版》課程教學大綱_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《數據結構與算法一Python版》課程教學大綱

課程名稱:數據結構與算法一Python版

合用專業(yè):計算機科學與技術

先修課程:計算機導論、離散數學

學分:4

總學時:64授課學時:40實驗(上機)學時:24

一'課程簡介

Python是一門開源的高級動態(tài)編程語言,支持命令式編程、函數式編程、

面向對象程序設計,語法簡潔清晰,并且擁有大量功能豐富的標準庫和擴展庫。

數據結構是計算機各專業(yè)的專業(yè)基礎課。它是操作系統、數據庫、編譯原理等軟

件專業(yè)基礎課和專業(yè)課的重要基礎;它還是進行程序設計,特別是進行高水平的

應用程序和系統程序設計必不可少的基礎。通過本課程的學習,使學生掌握數據

組織、存儲和運算的基本原理和方法,培養(yǎng)學生對各類數據結構和相關算法的分

析和設計的能力,使學生能夠編寫出正確、清晰和較高質量的算法和程序。

二、本課程與其它課程的聯系

本課程的先修課是面向過程程序設計、離散數學。面向過程程序設計為本課

程提供實踐工具,離散數學為本課程提供理論基礎。本課程是操作系統、數據庫、

編譯原理等軟件專業(yè)基礎課和專業(yè)課的重要基礎;為這些后續(xù)課程分析問題時提

供規(guī)范的思路,為解決問題提供好的結構和算法。同時它還為進行程序設計,尤

其是進行高水平的應用程序和系統程序設計打下必不可少的堅實的基礎。

該課程學習完成后,學生還要進行“數據結構課程設計”的實踐環(huán)節(jié),使學

生在掌握數據結構基本理論知識的基礎上,進一步掌握應用系統設計的方法和步

驟,靈便運用并深刻理解典型數據結構在軟件開辟中的應用,進一步提高分析問

題和解決問題的能力,提高程序設計水平。

三、課程內容及要求

第1章數據結構與算法

主要內容:

1.數據結構的概念、內容;

2.算法的概念、評價標準、描述方法、性能分析。

基本要求:了解數據結構、算法的基本概念;了解數據結構的地位;了解各

種算法描述方法和算法設計的基本要求;掌握對算法的評價標準和算法效率的度

量方法。

重點:邏輯結構和存儲結構的區(qū)別,時間復雜度的分析和計算方法。

難點:時間復雜度的分析和計算方法。

第2章Python開辟環(huán)境

主要內容:

1.Python語言的發(fā)展。

2.Python語言特點。

3.Python程序開辟工具介紹。

基本要求:了解程序設計語言及其發(fā)展歷史;了解Python語言的特點;掌

握程序設計的普通過程。

重點:Python語言環(huán)境安裝及使用。

難點:Python語言的基本結構。

第3章Python數據類型

主要內容:

1.常量、變量和表達式

2.Python的基本數據類型

3.運算符與表達式

4.列表

5.元組

6.字符串

7.字典

8.集合

基本要求:理解數據類型的概念、作用以及Python語言的基本數據類型;

14

掌握常量、變量基本概念;掌握Python語言各類運算符的含義、運算符的優(yōu)先

級和結合性、表達式的構成以及表達式的求解過程。掌握序列基礎知識;熟練掌

握列表的定義、常用操作和常用函數;熟練掌握元組的定義和常用操作;熟練掌

握字典的定義和常用操作;掌握字符串格式化、字符串截取的方法;理解與字符

串相關的重要內置方法。熟練掌握字典的定義和常用操作;熟練掌握集合的定義

和常用操作。

重點:數據類型的作用、變量的定義,各類運算符以及構成的表達式的求

解。序列、列表、元組的定義和常用操作。字典、集合的定義和常用操作。

難點:運算符的優(yōu)先級和結合性。列表常用函數的應用,字符串的應用。

字典及集合的應用。

第4章Python三大結構

主要內容:

1.數據的輸入與輸出

2.單分支選擇結構

3.雙分支選擇結構

4.多分支選擇結構

5.while循環(huán)結構

6.for語句結構

7.循環(huán)的嵌套

基本要求:掌握程序的三種基本結構;掌握順序結構程序設計;熟練掌握

Python語言中輸入輸出格式的規(guī)則和用法。熟練掌握if語句的三種形式和用法

以及if語句的嵌套使用;掌握選擇分支結構的應用。熟練掌握循環(huán)結構while、

for語句的規(guī)則和用法;熟悉continue、break,pass語句的用法;掌握循環(huán)結構

的嵌套規(guī)則。

重點:數據的輸入輸出。if語句的三種形式和使用方法。循環(huán)結構的應用。

難點:格式化輸出的規(guī)則和用法。選擇分支結構的應用。循環(huán)的嵌套。

第5章函數

主要內容:

1.函數的定義與調用

2.函數的參數及返回值

14

3.遞歸函數

4.變量的作用域

5.模塊

基本要求:理解函數的作用;熟練掌握函數定義和函數調用的規(guī)則和用法;

掌握函數參數傳遞的規(guī)則和用法;理解函數的嵌套和遞歸調用;掌握模塊的定義

及導入方法。

重點:函數的作用、定義和調用。

難點:函數的參數傳遞、遞歸調用。

第6章線性表

主要內容:

1.線性表的邏輯結構定義、基本操作

2.兩種存儲結構中基本操作的實現;

3.棧的應用。

4.隊列的應用。

5.串的應用

基本要求:理解線性表的概念、定義、邏輯結構和存儲結構;熟練掌握線性

表的順序存儲結構及其各種基本運算;熟練掌握單鏈表等鏈式存儲結構及其各種

基本運算。

重點:線性表的特征;順序表、單鏈表的存儲結構及其各種基本運算。棧

和隊列的特點、存儲方式及基本操作;棧和隊列的應用。串的模式匹配算法。

難點:順序表和鏈表這兩種存儲表示方法的綜合比較,靜態(tài)鏈表的存儲表

示方法。采用棧和隊列數據結構解決實際具體問題;串的KMP模式匹配算法。

第7章樹與二叉樹

主要內容:

1.樹的概念;

2.二叉樹的定義、性質、存儲結構;

3.二叉樹的遍歷及基于遍歷的應用;

4.樹、二叉樹之間的轉換;

5.哈夫曼樹及其應用。

基本要求:理解樹的基本概念及其存儲結構;熟練掌握二叉樹的定義、性質

14

以及各種存儲結構和遍歷算法;掌握線索二叉樹的概念、存儲結構及線索化算法;

掌握樹和森林與二叉樹間的轉換,掌握哈夫曼樹的概念、存儲結構和應用。

重點:二叉樹的遍歷算法及基于遍歷的簡單應用;樹和森林與二叉樹間的

轉換;哈夫曼樹的概念、存儲結構和應用哈夫曼樹構造哈夫曼編碼。

難點:應用哈夫曼樹構造編碼。

第8章圖

主要內容:

1.圖的基本概念;

2.圖的存儲結構;

3.圖的遍歷;

4.圖的應用。

基本要求:理解圖的基本概念,掌握圖的鄰接矩陣和鄰接表的存儲結構;熟

練掌握圖的深度優(yōu)先和廣度優(yōu)先遍歷算法;理解圖的連通性、最小生成樹的概念,

掌握求最小生成樹算法;掌握求最短路徑的算法。

重點:圖的鄰接矩陣和鄰接表的存儲結構;圖的深度優(yōu)先遍歷算法和廣度

優(yōu)先遍歷算法;圖的最小生成樹算法、圖的求最短路徑的Dijkstra算法、Floyd

算法。

難點:理解圖的關鍵路徑算法、圖的求最短路徑算法;利用圖的重要算

法解決實際具體問題。

第9章查找

主要內容:

1.查找的概念以及效率的評價方法;

2.基于線性表的查找一一順序查找、折半查找、索引查找;

3.基于樹的查找一一二叉排序樹、平衡二叉排序樹;

4.哈希查找法的概念和構造方法。

基本要求:理解查找的概念及其效率的評價方法;理解靜態(tài)查找表的概念,

熟練掌握順序、折半和分塊查找算法;理解動態(tài)查找表和二叉排序樹的概念;了

解平衡二叉樹的概念,創(chuàng)建調整過程;理解哈希表的含義,掌握哈希函數的構造

和處理沖突的基本方法;

14

重點:順序、折半查找算法、二叉排序樹的插入、刪除和查找算法;哈希

函數的構造和處理沖突的基本方法;查找成功和不成功時的平均查找長度計算方

法。

難點:理解折半查找的判定柯.,分析折半查找的平均查找長度;二叉排

序樹的插入、刪除算法;平衡二叉排序樹的創(chuàng)建調整過程;哈希函數的查找成功

和不成功的平均查找長度計算方法。

第10章排序

主要內容:

1.排序的概念以及排序算法的性能評價;

2.插入類排序一一直接插入排序、折半插入排序、希爾排序;

3.交換類排序一一冒泡排序、快速排序;

4.選擇類排序一一簡單選擇排序、堆排序;

5.歸并類排序;

基本要求:掌握插入類排序的算法:直接插入排序、希爾排序;掌握交換類

排序的算法:冒泡排序、快速排序;掌握選擇類排序的算法:簡單選擇排序、堆

排序;了解歸并排序思想

重點:理解快速排序、堆排序、歸并排序等排序算法的思想;掌握排序

方法的平均時間復雜度、最壞時間復雜度和算法所需的輔助存儲空間。

難點:快速排序、堆排序、歸并排序的思想;各種排序方法的綜合比較。

第11章異常處理與調試

主要內容:

1.Python中異常處理結構

2.斷言與上下文管理

基本要求:理解Python異常處理的結構;理解斷言與上下文管理的含義。

重點:異常處理結構及斷言。

難點:自定義異常處理。

四'教學安排及學時分配

14

學時分配

7^^節(jié)及學時

主要內容授課習題課實驗網絡其它小計

第1章數據結構與算法22

第2章python開辟環(huán)境22

第3章python數據類型224

第4章python三大結構426

第5章函數426

第6章線性表426

第7章樹和二叉樹4149

第8章圖4149

第9章查找4149

第10章排序4149

第11章異常處理與調試22

合計3642464

五、實驗部份教學內容和要求:(含課內實驗的課程填寫本部份)

實驗類型

序號實驗項目名稱實驗內容及要求演驗設

時綜合

示證計

順序、選擇程Python編程環(huán)境的安裝及使用、

122

序設計順序、選擇結構的設計的應用。

循環(huán)結構程序循環(huán)結構的設計方法及循環(huán)控制

222

設計語句的應用。

14

函數的定義、函數的嵌套以及遞歸

3函數22

調用,并體味函數的特點。

棧的應用。隊列的應用。串的應

4線性表用22

二叉樹的遍歷算法及基于遍歷的

5樹和二叉樹簡單應用;應用哈夫曼樹構造哈夫44

曼編碼。

圖的深度優(yōu)先遍歷算法和廣度

優(yōu)先遍歷算法;圖的最小生成樹

算法、圖的拓撲排序和關鍵路徑算

6圖44

法、圖的求最短路徑的Dijkstra算

法、Floyd算法。

順序查找、折半查找、索引查找;

7查找二叉排序樹、平衡二叉排序樹;44

直接插入排序、希爾排序;掌握

交換類排序的算法:冒泡排序、快

8排序速排序;掌握選擇類排序的算法:44

簡單選擇排序、堆排序;了解歸并

排序思想

合計241446

六、考核方式

1.考核方式與成績評定方法

課程考核總評成績(滿分100)=平時(滿分100,占比45%)+期中考試(滿

分100分,占20%)+期末考試(滿分100分,占比35%)

(1)平時:主要考核對各個知識點的復習、理解和掌握程度;課堂討論情

況、平時作業(yè)和每次實驗的完成情況。

(2)期中考試:主要考核對課程前六章的知識點掌握程度以及運用理論知

識解決實際問題的能力。

14

(3)期末考試:主要考核對數據結構與算法課程的知識點掌握程度以及運

用理論知識解決實際問題的能力。

2.考核與評價標準:

(1)平時成績考核及評價標準

評分標準

優(yōu)秀良好合格不合格

(0.90-1.0)(0.75-0.89)(0.60-0.74)(0-0.59)

按時交作業(yè);基按時交作業(yè);基按時交作業(yè);基不能按時交作

本概念正確、論本概念正確、論本概念基本正業(yè);有抄襲現象;

述邏輯清晰;層述基本清晰;語確、論述基本清或者基本概念不

次分明,語言規(guī)言較規(guī)范。楚;語言較規(guī)范。清晰、論述不清

范。楚。

(2)期中成績考核及評價標準

評分標準

優(yōu)秀良好合格不合格

(0.90-1.0)(0.75-0.89)(0.60-0.74)(0-0.59)

很好的掌握線性能掌握線性結構基本能夠掌握線未徹底掌握線性

結構和樹狀結和樹狀結構,和性結構和樹狀結結構和樹狀結

構,和其存儲結其存儲結構,及構,和其存儲結構,和其存儲結

構,及其相應基其相應基本算構,及其相應基構,及其相應基

本算法,并對算法,并對算法進本算法,但不夠本算法,基本概

溫馨提示

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

評論

0/150

提交評論