版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
教案
講授章節(jié)第1講概述
授課時數(shù)2
0教學(xué)目的:
1.了解數(shù)據(jù)結(jié)構(gòu)課程的重要性和課程的基本要求,以及本課程涵蓋的內(nèi)容;
2.掌握數(shù)據(jù)結(jié)構(gòu)的基本概念;
3.理解算法描述和簡單的算法分析。
教學(xué)內(nèi)容(講授提綱)
一.課前導(dǎo)學(xué)(線上)
1.閱讀:導(dǎo)學(xué)通知、課程介紹、學(xué)習(xí)方法、校內(nèi)SPOC使用方法、本章節(jié)知識點(diǎn)等
2.觀看導(dǎo)學(xué)視頻
3.論壇討論、反饋疑難點(diǎn)
二.課堂教學(xué)
01.介紹課程重要性和意義,以及學(xué)習(xí)目標(biāo)等
2.什么是數(shù)據(jù)結(jié)構(gòu)
2.1通過“中國軟件和信息技術(shù)服務(wù)業(yè)現(xiàn)狀”、“排隊(duì)候車”等案例介紹線性結(jié)構(gòu)。
表1中國軟件和信息技術(shù)服務(wù)業(yè)現(xiàn)狀
軟件業(yè)收入統(tǒng)計(jì)人均創(chuàng)收軟件從業(yè)人員數(shù)統(tǒng)計(jì)
年份
(億元)(億元)(萬人)
20154284874.6574
20164823282.3586
20175510389.2618
o20186190995.0645
201971768106.6673
0
圖1軍人排隊(duì)候車
2.2通過“早期華為組織結(jié)構(gòu)圖”、“族譜”等案例介紹樹形結(jié)構(gòu)
公司綜合辦公室
中研總部■市場總部■制造部■財(cái)經(jīng)系統(tǒng)■行政管理部
認(rèn)證部■投融斐部■財(cái)務(wù)部■審討部
圖2華為早期的管理組織結(jié)構(gòu)圖
圖3族譜
2.3通過“高速鐵路網(wǎng)”、“哥尼斯堡七橋問題”介紹圖形結(jié)構(gòu)
圖4我國“四縱四橫”高速鐵路網(wǎng)
圖5哥尼斯堡七橋問題
討論:歐拉回路存在的充分必要條件是:
(1)圖是連通的:(2)圖中與每個頂點(diǎn)相連的邊數(shù)(即頂點(diǎn)度數(shù))必須是偶數(shù)。
3.基本概念和術(shù)語
3.1介紹數(shù)據(jù)(Data)、數(shù)據(jù)元素(DataElement)、數(shù)據(jù)項(xiàng)(DataIlem)、數(shù)據(jù)對象(DataObject)>
抽象數(shù)據(jù)類型(AbstractDataType)、數(shù)據(jù)結(jié)構(gòu)三個要素。
3.2課堂練習(xí)
(1)在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以將之分為()?!局心洗髮W(xué)】
A.動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)B.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)
C.內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)D.線性結(jié)構(gòu)和非線性結(jié)構(gòu)
(2)己知表頭元素為c的單鏈表在內(nèi)存中的存儲狀態(tài)如下表所示?!?012全國統(tǒng)考408】
現(xiàn)將f放于1014H處并插入到單鏈表中,若f在邏輯上位a和e之間,則a,e,f的璉接地
址”依次是()。
A.1010H,1014H,1004HB.1010H,I004H,10I4H
C.1014H,1010H,1004HD.1014H,1004H,1010H
4.算法和算法分析
4.1介紹算法的定義、特性、設(shè)計(jì)要求及算法效率的衡量方法。
4.2“百錢買百雞”問題
討論+翻轉(zhuǎn):我國占代數(shù)學(xué)家張丘建在《算經(jīng)》一書中曾提出過著名的百錢買百雞問題,
小組討論“百錢買百雞”算法思路,開展翻轉(zhuǎn)課堂活動,最后教師總結(jié)算法的重要性。
4.3引導(dǎo)學(xué)生歸納總結(jié)各種常見階數(shù)時間復(fù)雜度
4.4課堂練習(xí)
(1)求整數(shù)n(n>=0)階乘的算法如下,其時間復(fù)雜度是()?!?012全國統(tǒng)考4081
intfact(intn){
if(n<=l)rctum1;
教案
講授章節(jié)第2講線性表、順序表
授課時數(shù)2
0教學(xué)目的:
1.理解非空線性結(jié)構(gòu)的四個特征。
2.線性表是重要的線性結(jié)構(gòu),要掌握線性表的定義。
3.掌握線性表的操作在順序表中的實(shí)現(xiàn)。
教學(xué)內(nèi)容(講授提綱)
一.課前導(dǎo)學(xué)(線上)
1.觀看導(dǎo)學(xué)視頻
2.論壇討論、反饋疑難點(diǎn)
二.課堂教學(xué)
1.通過中國軟件和信息技術(shù)服務(wù)業(yè)現(xiàn)狀統(tǒng)計(jì)表,引入線性結(jié)構(gòu)學(xué)習(xí),總結(jié)非空線性結(jié)構(gòu)的
四個特征
軟件業(yè)收入統(tǒng)計(jì)人均創(chuàng)收軟件從業(yè)人員數(shù)統(tǒng)計(jì)
年份
1億元)(億元)(萬人)
20154284874.6574
20164823282.3586
2UI75510389.2618
20186190995.0645
0201971768106.6673
2.線性表的概念
3.線性表的抽象數(shù)據(jù)類型
data?curl.n—.h?
%a|&2.....at?-l
,—mjaiSixc?
4.給定線性表的邏輯結(jié)構(gòu)設(shè)計(jì)算法
(1)遍歷線性表L
(2)合并線性表1:設(shè)La和Lb是元素屬于同一數(shù)據(jù)對象且非遞減有序的兩個線性表,
現(xiàn)要求將兩個線性表合并成一個新的非遞減有序的線性表Lc。
(3)合并線性表2:設(shè)La和Lb是元素屬于同一數(shù)據(jù)對象的兩個線性表,試將線性表Lb合
并到線性表La中。要求Lb中元素和La中元素相同的不再合并。
要分析為什么(2)和(3)的時間復(fù)雜度分別是O(m*n)和O(m+n)。
5.線性表的順序表示及類型定義
6.順序表上基本運(yùn)算的實(shí)現(xiàn)
(1)構(gòu)造一個空順序表;(2)拷貝構(gòu)造函數(shù);(3)遍歷順序表;(4)查找元素;15)求
前驅(qū)和后繼;(6)插入運(yùn)算:(7)刪除運(yùn)算;(8)逆置運(yùn)算;(9)擴(kuò)大表空間;
重點(diǎn)分析在插入和刪除操作中的時間復(fù)雜度。
7.算法設(shè)計(jì)舉例
(1)順序結(jié)構(gòu)線性表LA與LB的結(jié)點(diǎn)關(guān)鍵字為整數(shù)。LA與LB的元素按非遞減有序,
線性表空間足夠大。試給出一種高效算法,將LB中元素合到LA中,使新的LA的元素仍保持
非遞減有序。高效指最大限度的避免移動元素。
(2)【北京航空航天大學(xué)】已知長度為n的線性表A采用順序存儲結(jié)構(gòu),請寫一時訶復(fù)雜
度為0(n)、空間復(fù)雜度為0(1)的算法,該算法刪除線性表中所有值為item的數(shù)據(jù)元素。(0(1)
表示算法的輔助空間為常量)。
(3)[2010全國統(tǒng)考408】設(shè)將n(n>l)個整數(shù)存放到一維數(shù)組R中。試設(shè)計(jì)一個在時
間和空間兩方面都盡可能高效的算法,將R中保存的序列循環(huán)左移P(0<P<n)個位置,即
將R中的數(shù)據(jù)由(X0,Xl,...,Xn-l)變換為(Xp,Xp+l,...,Xn-1,X0,X1..,Xp-1).要求:a)給出
算法的基本設(shè)計(jì)思想。b)采用C或C++或JAVA語言描述算法c)說明算法的時間復(fù)雜度和
空間女雜度。d)討論:若采用直接左移p位,空間笈雜度仍為0(1),但時間女雜度為O(np)。
三.課后鞏固(線上)
課后觀看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)測試。
本章節(jié)的教學(xué)重點(diǎn)、難點(diǎn):
1.重點(diǎn)是順序表的定義,基本操作的實(shí)現(xiàn)。
2.難點(diǎn)是高效算法設(shè)計(jì),例如國家2010年碩士研究生入學(xué)考試算法題就有5種解法
教學(xué)方法、教學(xué)手段:
1.線性表和順序表的概念和類型定義(30分鐘)
2.順序表上基本運(yùn)算的實(shí)現(xiàn)(30分鐘)
3.順序表算法舉例(30分鐘)
4.使用教具:計(jì)算機(jī)和投影儀;
5.輔助教學(xué):雨課堂、校內(nèi)SPOC、“百科園”在線考試系統(tǒng)、學(xué)堂在線MOOC、算法演示
動畫;
6.課前觀看導(dǎo)學(xué)視頻;課中案例展開,應(yīng)用翻轉(zhuǎn)課堂、項(xiàng)目驅(qū)動以及實(shí)踐教學(xué)法;課后觀
看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)在線測試。
作業(yè)、討論題、思考題:
1.分析在順序存儲結(jié)構(gòu)卜.插入和刪除結(jié)點(diǎn)時平均需要移動多少個結(jié)點(diǎn)。
2.順序表la與1b非遞減有序,順序表空間足夠大。試設(shè)計(jì)一種高效算法,將1b中元素合到
la中,使新的la的元素仍保持非遞減有序。高效指最大限度地避免移動元素。
改為:順序表la非遞減有序,1b非遞增有序,求解該問題。
參考資料:
1.馮廣慧,吳昊,文全剛.算法與數(shù)據(jù)結(jié)構(gòu)(C++語言版)[M].電子工業(yè)出版社,2019
2.陳守孔,胡瀟琨,李玲,馮廣慧.算法與數(shù)據(jù)結(jié)構(gòu)考研試題精析(第四版)[M].機(jī)械工
業(yè)出版社,2020
教案
講授章節(jié)第3講單鏈表
授課時數(shù)2
0教學(xué)目的:
1.掌握鏈表的類型定義和基本操作的實(shí)現(xiàn)。
2.掌握單鏈表的建立方法,特別是頭插法和尾插法。
3.了解單鏈表的應(yīng)用。
教學(xué)內(nèi)容(講授提綱)
二.課前導(dǎo)學(xué)7線衛(wèi)5
1.觀看導(dǎo)學(xué)視頻
2.論壇討論、反饋疑難點(diǎn)
二.課堂教學(xué)
01從順序存儲結(jié)構(gòu)的優(yōu)缺點(diǎn),引出鏈表的必要性
插入和刪除必須大量移動元素:必須預(yù)先確定空間;表空間不易擴(kuò)充。
head
II—1?…
2.鏈表的類型定義
幾個概念:結(jié)點(diǎn),首元結(jié)點(diǎn),第一元素結(jié)點(diǎn),頭結(jié)點(diǎn),指針,頭指針
頭指針頭絲點(diǎn)甄結(jié)點(diǎn)
B—H3—?I
o
3,線性表的操作在單鏈表中的實(shí)現(xiàn)
(1)單鏈表的初始化;(2)清空單鏈表;(3)求表長;(4)遍歷鏈表;(5)查找位序?yàn)閕
的元素的地址;(6)查找值為value的元素的位序;(7)查找值為value的元素的前驅(qū);(8)求
某元素的后繼:(9)插入元素:(10)刪除元素。
4.單鏈表的建立方法(特別是頭插法和尾插法)
(1)頭插法;(2)尾插法。
5.算法設(shè)計(jì)舉例
(1)【2012全國統(tǒng)考408】假定采用帶頭結(jié)點(diǎn)的單鏈表保存單詞,當(dāng)兩個單詞有相同的后
綴時.,則可共享相同的后綴存儲空間。例如,“l(fā)oading”和“being”的存儲映像如下圖所示,
設(shè)strl和str2分別指向兩個單詞所在單鏈表的頭結(jié)點(diǎn),鏈表結(jié)點(diǎn)結(jié)構(gòu)為(data,next)請?jiān)O(shè)
0計(jì)一個時間上盡可能高效的算法,找出由sW和slr2所指的兩個鏈表共同后綴的起始位置(如
圖中字符i所在結(jié)點(diǎn)的位置p)。要求:a)給出算法的基衣設(shè)計(jì)思想。b)根據(jù)設(shè)計(jì)思想,采用
C或C++或JAVA語音描述算法,關(guān)鍵之處給出注釋。c)說明你所設(shè)計(jì)算法的時間復(fù)雜度。
(2)【2009全國統(tǒng)考408】已知一個帶有表頭結(jié)點(diǎn)的單鏈表,結(jié)點(diǎn)結(jié)構(gòu)為(dataJink),假設(shè)
該鏈表只給出了頭指針list。在不改變鏈表的前提下,請?jiān)O(shè)計(jì)一個盡可能高效的算法,查找鏈表
中倒數(shù)第k個位置上的結(jié)點(diǎn)(k為正整數(shù)),若查找成功,算法輸出該結(jié)點(diǎn)的data域的值,并返
回1;否則,只返回0,要求:a)描述算法的基本設(shè)計(jì)思想:b)描述算法的詳細(xì)實(shí)現(xiàn)步驟;c)
根據(jù)設(shè)計(jì)思想和實(shí)現(xiàn)步驟,采用程序設(shè)計(jì)語言描述算法(使用C或C++或JAVA語言實(shí)現(xiàn)),關(guān)
鍵之處請給出簡要注釋。
三.課后鞏固(線上)
課后觀看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)測試。
本章節(jié)的教學(xué)重點(diǎn)、難點(diǎn):
1.動態(tài)存儲(單鏈表)的概念。
2.單鏈表的算法設(shè)計(jì)。
教學(xué)方法、教學(xué)手段:
1.鏈表的定義和基本操作的實(shí)現(xiàn)(45分鐘)
2.鏈表生成和鏈表應(yīng)用的算法設(shè)計(jì)(45分鐘)
3.使用教具:計(jì)算機(jī)和投影儀;
4.輔助教學(xué):雨課堂、校內(nèi)SPOC、“百科園”在線考試系統(tǒng)、學(xué)堂在線MOOC、算法演示
動畫;
5.課前觀看導(dǎo)學(xué)視頻;課中案例展開,應(yīng)用翻轉(zhuǎn)課堂、項(xiàng)目驅(qū)動以及實(shí)踐教學(xué)法;課后觀
看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)在線測試。
作業(yè)、討論題、思考題:
1.試述頭指針、頭結(jié)點(diǎn)、元素結(jié)點(diǎn)、首元結(jié)點(diǎn)的區(qū)別,說明頭指針和頭結(jié)點(diǎn)的作用。
2.分析順序存儲結(jié)構(gòu)和健式存儲結(jié)構(gòu)的優(yōu)缺點(diǎn),說明何時應(yīng)該利用何種結(jié)構(gòu)。
3.為什么在單循環(huán)鏈表中常使用尾指針,若只設(shè)頭指針,插入元素的時間復(fù)雜度如何?
4.在單鏈表、雙鏈表、單循環(huán)鏈表中,若知道指針p指向某結(jié)點(diǎn),能否刪除該結(jié)點(diǎn),時間
復(fù)雜度如何?
5.設(shè)ha和腦分別是兩個帶頭結(jié)點(diǎn)的非遞減有序單鏈表的頭指針,試設(shè)計(jì)算法,將這兩
個有序鏈衣合并成個非遞增有序的單鏈衣。要求使用原鏈表空間,衣中無重復(fù)數(shù)據(jù)。
改:設(shè)施和腦分別是兩個帶頭結(jié)點(diǎn)的非遞減有序單鏈表的頭指針,試設(shè)計(jì)算法,將這
兩個有序鏈表合并成一個非遞減有序的單鏈表。要求使用原鏈表空間,表中無重復(fù)數(shù)據(jù),
參考資料:
1.馮廣慧,吳昊,文全剛.算法與數(shù)據(jù)結(jié)構(gòu)(C++語言版)[M].電子工業(yè)出版社,2Q19
2.陳守孔,胡瀟琨,李玲,馮廣慧.算法與數(shù)據(jù)結(jié)構(gòu)考研試題精析(第四版)[M].機(jī)械工
業(yè)出版社,2020
3.翁惠玉,俞勇.數(shù)據(jù)結(jié)構(gòu):思想與實(shí)現(xiàn),高等教育出版社[M].高等教育出版社,2018
教案
講授章節(jié)第4講循環(huán)鏈表、雙鏈表
授課時數(shù)2
0教學(xué)目的:
1.掌握循環(huán)鏈表引入的背景:從任一結(jié)點(diǎn)開始可以訪問鏈表中的全部結(jié)點(diǎn)。
2.掌握循環(huán)鏈表(單循環(huán)鏈表,雙循環(huán)鏈表)和雙鏈表。
教學(xué)內(nèi)容(講授提綱)
一.課前導(dǎo)學(xué)(線上)
1.觀看導(dǎo)學(xué)視頻
2.論壇討論、反饋疑難點(diǎn)
二.課堂教學(xué)
1.比較順序表和單鏈表操作的優(yōu)缺點(diǎn),使用范圍
02.介紹單循環(huán)鏈表。指出:單循環(huán)鏈表往往只設(shè)尾指針
3.講解兩個只設(shè)尾指針的單循環(huán)鏈表合并成一個單循環(huán)鏈表的例子
4.雙鏈表的定義
為深刻的理解雙鏈表,展開討論:
p->prior->next==?;
P->ncxt->prior==?;
引導(dǎo)學(xué)生理解雙鏈表的特點(diǎn):
p->prior->next==P->next->prior==p;
注意區(qū)分雙鏈表和雙循環(huán)鏈表是兩種鏈表。
5.線性表的操作在雙鏈表中的實(shí)現(xiàn)
o凡涉及一個方向的指針時,如求長度,取元素,元素定位等,其算法描述和單鏈表基本相
同。但是在插入或刪除結(jié)點(diǎn)時,一個結(jié)點(diǎn)就要修改兩個指針域,所以要比單鏈表復(fù)雜。由于雙
鏈表有兩個指針域,求前卵和后繼都很方便。
s->prior=p->prior:
p->prior->ncxt=s;
s->next=p;
p->prior=s;
p->prior->next=p->next;
0p->next->prior=p->prior;
deletep;
92雙缺中暗由巨
6.算法設(shè)計(jì)舉例
(1)將單循環(huán)鏈表改為雙循環(huán)鏈表。假設(shè)一個單循環(huán)鏈表,其結(jié)點(diǎn)含有三個域pre、data、
nexto其中data為數(shù)據(jù)域;pre為指針域,它的值為空指針(null);next為指針域,它指向后繼
結(jié)點(diǎn)。請?jiān)O(shè)計(jì)算法,將此表改成雙向循環(huán)鏈表。
(2)已知一雙向循環(huán)鏈表,從第二個結(jié)點(diǎn)至表尾遞增有序,(設(shè)alvxvan)。試編寫算法,
將第一個結(jié)點(diǎn)刪除并插入表中適當(dāng)位置,使整個鏈表遞增有序。
(3)[2015全國統(tǒng)考408】用單鏈表保存m個整數(shù),節(jié)點(diǎn)的結(jié)構(gòu)為(data,國k),K|data|<n(n
為正整數(shù))。現(xiàn)要求設(shè)計(jì)一個時間復(fù)雜度盡可能高效地算法,對于鏈表中絕對值相等的節(jié)點(diǎn),僅
保留第一次出現(xiàn)的節(jié)點(diǎn)而刪除其余絕對值相等的節(jié)點(diǎn)。例如若給定的單鏈表head如下。
HE?AD1HEAD
匚土WG一國土EH—EB一匣]刪除后03-03—ES-ELD
三.課后鞏固(線上)
課后觀看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)測試。
本章節(jié)的教學(xué)重點(diǎn)、難點(diǎn):
1.循環(huán)鏈表和雙鏈表的概念C
2.難點(diǎn)是循環(huán)鏈表和雙鏈表的應(yīng)用算法設(shè)計(jì)。
教學(xué)方法、教學(xué)手段:
1.循環(huán)鏈表和雙鏈表(45分鐘)
2.算法設(shè)計(jì)(45分鐘)
3.使用教具:計(jì)算機(jī)和投影儀;
4.輔助教學(xué):雨課堂、校內(nèi)SPOC、“百科園”在線考試系統(tǒng)、學(xué)堂在線MOOC、算法演示
動畫;
5.課前觀看導(dǎo)學(xué)視頻;課中案例展開,應(yīng)用翻轉(zhuǎn)課堂、項(xiàng)目驅(qū)動以及實(shí)踐教學(xué)法;課后觀
看習(xí)題視頻,并在校內(nèi)SP0C完成知識點(diǎn)在線測試。
作業(yè)、討論題、思考題:
1.設(shè)la是一個雙向循環(huán)鏈表,其表中元素遞增有序。試寫一算法插入元素x,使表中元素
依然遞增有序。改為:設(shè)la是一個雙向循環(huán)鏈表,其表中元素遞減有序。試寫一算法插入元素
X,使表中元素依然遞減有序。
2.設(shè)計(jì)一算法,將一個用循環(huán)鏈表表示的稀疏多項(xiàng)式分解成兩個多項(xiàng)式,使這兩個多項(xiàng)式
各自僅有奇次塞或偶次塞頂,并要求利用原鏈表中的結(jié)點(diǎn)空間來構(gòu)造這兩個鏈表。
參考資料:
1.馮廣慧,吳吳,文全剛.算法與數(shù)據(jù)結(jié)構(gòu)(C++語言版)1MJ.電子工業(yè)出版社,2019
2.陳守孔,胡瀟琨,李玲,馮廣慧.算法與數(shù)據(jù)結(jié)構(gòu)考研試題精析(第四版)[M].機(jī)械工
業(yè)出版社,2020
3.翁忠玉,俞勇.數(shù)據(jù)結(jié)構(gòu):思想與實(shí)現(xiàn),高等教育出版社[M].高等教育出版社,2018
教案
講授章節(jié)第5講棧
授課時數(shù)2
0教學(xué)目的:
1理解棧和隊(duì)列仍屬于線性結(jié)構(gòu),其操作是線性表操作的子集,是操作受限的線性表。但
從數(shù)據(jù)類型的角度看,它們是和線性表大不相同的重要抽象數(shù)據(jù)類型。
2.掌握棧的定義及操作。棧是只準(zhǔn)在一端進(jìn)行插入和刪除操作的線性表,該端稱為棧的頂
端。
3.掌握棧的順序和鏈?zhǔn)酱鎯Y(jié)構(gòu),及在這兩種結(jié)構(gòu)下實(shí)現(xiàn)棧的操作。
4.棧的應(yīng)用:表達(dá)式求值。
教學(xué)內(nèi)容(講授提綱)
一.課前導(dǎo)學(xué)(線上)
1.觀看導(dǎo)學(xué)視頻
02.論壇討論、反饋疑難點(diǎn)
二.課堂教學(xué)
1.棧的基本概念:棧、棧頂、棧尾,棧只在棧頂操作。
o
2.棧的抽象數(shù)據(jù)類型定義
3.順序棧及棧的操作在順序棧中的實(shí)現(xiàn)
4.鏈棧及棧的操作在順序棧中的實(shí)現(xiàn)
5.課堂練習(xí)
(1)【2010全國統(tǒng)考408】若元素a,b,c,d,e,f依次進(jìn)棧,允許進(jìn)棧、退棧操作交替
0進(jìn)行,但不允許連續(xù)三次進(jìn)行退棧操作,則不可能得到的出棧序列是()o
A.d,c,e,b,f,aB.c,b,d,a,e,fC.b,c,a,e,f,dD.a,f,e,d,c,b
(2)[2013全國統(tǒng)考408】一個棧的入棧序列為1,2,其出棧序列是pl,p2,p3…pn。
若p2為3,則p3可能取值的個數(shù)是()。A.n-3B.n-2C.n-1D.無法確定
6.棧的應(yīng)用
(1)過程調(diào)用
(2)消除遞歸
(3)使用棧進(jìn)行數(shù)制轉(zhuǎn)換
(4)中綴表達(dá)式的求值
算術(shù)表達(dá)式中運(yùn)算符(+,-,*,/等)的優(yōu)先規(guī)則
設(shè)置兩個工作棧:運(yùn)算符棧SI和操作數(shù)棧S2oS2存放表達(dá)式的運(yùn)算結(jié)果。
算法思想:
1首先置操作數(shù)棧S2為空棧,置運(yùn)算符棧的棧底為表達(dá)式的起始符#(優(yōu)先級最低)。
2依次讀入表達(dá)式的每個字符ch,直至表達(dá)式結(jié)束:
若ch是操作數(shù),則進(jìn)S2棧;
若ch是運(yùn)算符,若其優(yōu)先級不高于棧頂運(yùn)算符的優(yōu)先級時,則取出枝S2的棧頂和次
棧頂?shù)膬蓚€元素以及棧S1的棧頂運(yùn)算符,進(jìn)行相應(yīng)的運(yùn)算,并將結(jié)果放入棧S2中;如此下去,
直至ch的優(yōu)先級高于棧頂運(yùn)算符的優(yōu)先級,將ch入S1枝。
三.課后鞏固(線上)
課后觀看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)測試。
本章節(jié)的教學(xué)重點(diǎn)、難點(diǎn):
1.重點(diǎn)是棧的概念和基礎(chǔ)知識。
2.難點(diǎn):中綴表達(dá)式求值。
教學(xué)方法、教學(xué)手段:
1.棧的基本概念和順序棧(45分鐘)
2.鏈棧、中綴表達(dá)式求值(45分鐘)
3.使用教具:計(jì)算機(jī)和投影儀;
4.輔助教學(xué):雨課堂、校內(nèi)SPOC、“百科園”、學(xué)堂在線MOOC、算法演示動畫;
5.課前觀看導(dǎo)學(xué)視頻;課中案例展開,應(yīng)用翻轉(zhuǎn)課堂、項(xiàng)目驅(qū)動以及實(shí)踐教學(xué)法:課后觀
看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)在線測試。
作業(yè)、討論題、思考題:
1.有五個數(shù)依次進(jìn)棧:I、2、3、4、5。在各種出棧的序列中以3、4先出的序列有哪幾個。
2.鐵路進(jìn)行列車調(diào)度時,常把站臺設(shè)計(jì)成棧式結(jié)構(gòu),若進(jìn)站的六輛列車順序?yàn)椋?,2,3,
4,5,6,那么是否能夠得到435612,325641,154623和135426的出站序列,如果不能,說明
為什么不能;如果能,說明如何得到(即寫出”進(jìn)棧"或"出?!钡男蛄校?。
3.設(shè)稱正讀和反讀都相同的字符序列為“回文”,例如,“abba”和"abccba”是“回文”,“abcdc”
和“ababab”則不是“回文”,試寫一個算法,判別讀入的一個以@為結(jié)束符的字符序列是否是“回
文
參考資料:
I.馮廣慧,吳昊,文全剛.算法與數(shù)據(jù)結(jié)構(gòu)(C++語言版)[M].電子工業(yè)出版社,2019
2.陳守孔,胡瀟琨,李玲,馮廣慧.算法與數(shù)據(jù)結(jié)構(gòu)考研試題精析[M].機(jī)械工業(yè)出版七2020
教案
講授章節(jié)第6講校的應(yīng)用
授課時數(shù)2
教學(xué)目的:
1.掌握棧的定義的本質(zhì):LIFO。棧是只準(zhǔn)在一端進(jìn)行插入和刪除操作的線性表,該瑞稱為
棧的頂端。
2.掌握棧的應(yīng)用:中綴表達(dá)式轉(zhuǎn)為后綴表達(dá)式,并求值。
3.掌握遞歸過程的應(yīng)用。
教學(xué)內(nèi)容(講授提綱)
一.課前導(dǎo)學(xué)(線上)
1.觀看導(dǎo)學(xué)視頻
2.論壇討論、反饋疑難點(diǎn)
二.課堂教學(xué)
本次課繼續(xù)學(xué)習(xí)棧的應(yīng)用。
1.中綴表達(dá)式轉(zhuǎn)為后綴表達(dá)式
(1)算法思想及實(shí)現(xiàn)
(2)舉例:中綴表達(dá)式12*(6/205)轉(zhuǎn)為后綴表達(dá)式
(3)介紹中綴表達(dá)式轉(zhuǎn)為后綴表達(dá)式的簡單方法
2.課堂練習(xí)
(1)[2012全國統(tǒng)考408】已知操作符包括,+',<,(和)。將中綠表達(dá)式
a+b-a*((c+d)/e-D+g轉(zhuǎn)換為等價的后綴表達(dá)式ab+acd+e/f-*-g+時,用棧來存放暫時還不能確定運(yùn)
算次序的操作符。若棧初始時為空,則轉(zhuǎn)換過程中同時保存在棧中的操作符的最大個數(shù)是()。
A.5B.7C.8D.11
(2)【2014全國統(tǒng)考408】假設(shè)棧初始為空,將中綴表達(dá)式a/b+(c*d-e*f)/g轉(zhuǎn)換為等價的
后綴表達(dá)式的過程中,當(dāng)掃描到f時,棧中的元素依次是()。
A.+(*-B.+(-*C./+(*-*D./+-*
3.后綴表達(dá)式求值
(1)算法思想及實(shí)現(xiàn)
(2)舉例:后綴表達(dá)式1262/0.5-*求值
4.遞歸:若在一個函數(shù)、過程或者數(shù)據(jù)結(jié)構(gòu)定義的內(nèi)部,直接(或間接)出現(xiàn)定義本身的
應(yīng)用,則稱它們是遞歸的,或者是遞歸定義的。
5.遞歸過程的應(yīng)用
問題的定義是遞歸的:f(n)=n*f(n-l)
數(shù)據(jù)結(jié)構(gòu)是遞歸的:鏈表
問題的解法是遞歸的:Hanoi塔問題
6.遞歸算法的優(yōu)缺點(diǎn)
7.遞歸的消除
(1)采用迭代算法
(2)尾遞歸的消除
(3)利用棧消除任何遞歸
三.課后鞏固(線上)
課后觀看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)測試。
本章節(jié)的教學(xué)重點(diǎn)、難點(diǎn);
1.中綴表達(dá)式轉(zhuǎn)成前綴、后綴表達(dá)式,并對兩種表達(dá)式求值。
2.用遞歸解決的問題:問題的定義是遞歸的,數(shù)據(jù)結(jié)構(gòu)是遞歸的,以及問題的解法是遞歸
的,掌握典型問題的算法。將遞歸算法轉(zhuǎn)為非遞歸算法,特別是尾遞歸的消除。
教學(xué)方法、教學(xué)手段:
1.復(fù)習(xí)棧的基本概念、中綴表達(dá)式轉(zhuǎn)為后綴表達(dá)式并求值(45分鐘)
2.遞歸過程、消除遞歸(45分鐘)
3.使用教具:計(jì)算機(jī)和投影儀;
4.輔助教學(xué):雨課堂、校內(nèi)SPOC、“百科園”在線考試系統(tǒng)、學(xué)堂在線MOOC、算法演示
動畫;
5.課前觀看導(dǎo)學(xué)視頻;課中案例展開,應(yīng)用翻轉(zhuǎn)課堂、項(xiàng)目驅(qū)動以及實(shí)踐教學(xué)法;課后觀
看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)在線測試。
作業(yè)、討論題、思考題:
1.寫出下列中綴表達(dá)式的后綴表達(dá)式:
(1)A*B*C(2)(A+B)*C-D(3)A*B+C/①-E)(4)(A+B)*D+E/(F+A*D)+C
2.選擇題:4個園盤的Hahoi塔,總的移動次數(shù)為()。
A.7B.8C.15D.16
3.已知Ackerman函數(shù)定義如下,試寫出遞歸算法。
/7+1m=0
Akm(m,n)=akir^m-1,1)in*0,n=0
akn^m-\,akn^m9n-1))w0,〃工0
4.整數(shù)序列如,a2,an,給出求解最大值的遞歸程序。
5討論:有哪些方式可以避免順序隊(duì)列的假溢出,如何判斷隊(duì)列滿和空
參考資料:
1.馮廣慧,吳昊,文全剛.算法與數(shù)據(jù)結(jié)構(gòu)(C++語言版)[M].電子工業(yè)出版社,2019
2.陳守孔,胡瀟琨,李玲,馮廣慧.算法與數(shù)據(jù)結(jié)構(gòu)考研試題精析(第四版)[M].機(jī)械工
業(yè)出版社,2020
3.翁惠玉,俞勇.數(shù)據(jù)結(jié)構(gòu):思想與實(shí)現(xiàn),高等教育出版社[M].高等教育出版社,2018
教案
講授章節(jié)第7講隊(duì)列
授課時數(shù)2
0教學(xué)目的:
1.隊(duì)列的基本概念和算法,其木質(zhì)是:FIFO。
2.掌握鏈隊(duì)列空的條件是首尾指針相等,而循環(huán)隊(duì)列滿的條件的判定,則有犧牲一個單元
和設(shè)標(biāo)記等方法。
3.棧和隊(duì)列的綜合應(yīng)用
教學(xué)內(nèi)容(講授提綱)
一.課前導(dǎo)學(xué)(線上)
1.觀看導(dǎo)學(xué)視頻
2.論壇討論、反饋疑難點(diǎn)
0二.課堂教學(xué)
1.隊(duì)列的基本概念和術(shù)語,其本質(zhì)是:FIFOo
o
2.隊(duì)列的類型定義
3.隊(duì)列的順序表示和實(shí)現(xiàn).重點(diǎn)講解循環(huán)隊(duì)列
提出問題一產(chǎn)生矛盾一解決矛盾:順序隊(duì)列的假溢出一循環(huán)隊(duì)列一隊(duì)頭隊(duì)尾相等時是滿和
空的判斷。
循環(huán)隊(duì)列的入隊(duì)、出隊(duì)、求隊(duì)列元素個數(shù)等操作中,都要注意取模操作。
4.隊(duì)列的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)
05.課堂練習(xí)
[2014全國統(tǒng)考4081循環(huán)隊(duì)列存放在一維數(shù)組中,endl指向隊(duì)頭元素,end2
指向隊(duì)尾元素的后一個位置。假設(shè)隊(duì)列兩端均可進(jìn)行入隊(duì)和出隊(duì)操作,隊(duì)列中最多能容納M—
1個元素,初始時為空。下列判斷隊(duì)空和隊(duì)滿的條件中,王確的是()。
A.隊(duì)空:end1==end2;隊(duì)滿end1==(end2+l)modM
B.隊(duì)空:endl==cnd2:隊(duì)滿:cnd2==(endl+l)mod(M-l)
C.隊(duì)空:end2==(end1+1)modM;隊(duì)滿:endl==(end2+1)modM
D.隊(duì)空:encl1==(end2+1)modM;隊(duì)滿:end2==(end1+1)mod(M-1)
6.算法設(shè)計(jì)舉例
(1)假設(shè)以帶頭結(jié)點(diǎn)的循環(huán)鏈表表示隊(duì)列,并且只設(shè)一個指針指向隊(duì)尾結(jié)點(diǎn),不設(shè)頭指針,
試設(shè)計(jì)相應(yīng)的入隊(duì)列和出隊(duì)列的算法
(2)要求完全利用循環(huán)隊(duì)列中的元素空間,設(shè)置一個標(biāo)志域lag,并以tag的值是0或1
來區(qū)分尾指針和頭指針相同時的隊(duì)列狀態(tài)是"空''還是“不空請編寫與此結(jié)構(gòu)相對應(yīng)的入隊(duì)和
出隊(duì)的算法。
(3)請利用兩個棧SI和S2來模擬一個隊(duì)列?!旧虾=煌ù髮W(xué)】【度門大學(xué)】
三.課后鞏固(線上)
課后觀看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)測試。
本章節(jié)的教學(xué)重點(diǎn)、難點(diǎn):
1.隊(duì)列的概念,循環(huán)隊(duì)列和鏈隊(duì)列操作的實(shí)現(xiàn)。
2.循環(huán)隊(duì)列中隊(duì)列空川隊(duì)頭指針等于隊(duì)尾指針來判斷,隊(duì)列滿則可用犧牲一個單元及設(shè)標(biāo)
記等方法。這里特別注意入隊(duì)、出隊(duì)和求元素個數(shù)等操作中的取模運(yùn)算。
3.難點(diǎn)是棧和隊(duì)列的綜合運(yùn)用
教學(xué)方法、教學(xué)手段:
1.隊(duì)列的基本概念、循環(huán)隊(duì)列(45分鐘)
2.鏈隊(duì)列(20分鐘)
3.算法設(shè)計(jì)舉例(25分鐘)
4.使用教具:計(jì)算機(jī)和投影儀;
5.輔助教學(xué):雨課堂、校內(nèi)SPOC、百科園、學(xué)堂在線MOOC、算法演示動畫;
6.課前觀看導(dǎo)學(xué)視頻;課中案例展開,應(yīng)用翻轉(zhuǎn)課堂、項(xiàng)目驅(qū)動以及實(shí)踐教學(xué)法:課后觀
看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)在線測試。
作業(yè)、討論題、思考題:
1.若用一個大小為6的數(shù)組來實(shí)現(xiàn)循環(huán)隊(duì)列,且當(dāng)前rear和front的值分別為。和3,當(dāng)從
隊(duì)列中刪除一個元素,再加入兩個元素后,rear和from的值分別為多少?
2.設(shè)長度為n的鏈隊(duì)列用單循環(huán)鏈表表示,若只設(shè)頭指針,則入隊(duì)和出隊(duì)的時間如何?若
只設(shè)尾指針呢?
3.循環(huán)隊(duì)列存儲在數(shù)組中,則入隊(duì)時的操作為().
A.rear=rear+1B.rear=(rear+l)%(m-1)
C.rear=(rear+1)%mD.rear=(rear+1)%(m+1)
4.設(shè)用變量rear和length分別指示循環(huán)隊(duì)列中隊(duì)尾元素的位置和內(nèi)含元素的個數(shù)。試給出
此循環(huán)隊(duì)列的定義,并寫出相應(yīng)的入隊(duì)(Queuein)和出隊(duì)(QueueOul)算法。
5.討論:循環(huán)隊(duì)列的優(yōu)點(diǎn)是什么,如何判斷“空”和“滿”。
參考資料:
1.馮廣慧,吳昊,文全剛.算法與數(shù)據(jù)結(jié)構(gòu)(C++語言版)[M].電子工業(yè)出版社,2019
2.陳守孔,胡瀟琨,李玲馮廣慧.算法與數(shù)據(jù)結(jié)構(gòu)考研試題精析[M].機(jī)械工業(yè)出版七2020
教案
講授章節(jié)第8講串
授課時數(shù)2
0教學(xué)目的:
1.理解串的模式匹配。
2.掌握樸素模式匹配算法及改進(jìn)(KMP)算法、求next口和nextval。的算法。
教學(xué)內(nèi)容(講授提綱)
一.課前導(dǎo)學(xué)(線上)
1.觀看導(dǎo)學(xué)視頻
2.論壇討論、反饋疑難點(diǎn)
二.課堂教學(xué)
1.串的概念和術(shù)語
02.串的表示和實(shí)現(xiàn)
比較順序存儲、鏈?zhǔn)酱鎯Γù鎯γ芏鹊停K鏈?zhǔn)酱鎯Γㄋ惴▽?shí)現(xiàn)復(fù)雜),字符串一般采用
順序存儲結(jié)構(gòu)表示和實(shí)現(xiàn)。
3.樸素模式匹配算法
(1)算法思想及實(shí)現(xiàn)
(2)舉例模擬匹配過程,主串S="GoogleGooseGood",模式串T="Good”。
4.KMP算法——KMP—Knuth,Morris,Pratt三人發(fā)明
高德納(DonaldErvinKnuth,1938年),美國著名計(jì)算
機(jī)科學(xué)家,斯坦福大學(xué)電腦系榮譽(yù)教授。高德納教授被譽(yù)
為現(xiàn)代計(jì)算機(jī)科學(xué)的鼻祖,在計(jì)算機(jī)科學(xué)及數(shù)學(xué)領(lǐng)域發(fā)表
o了多部具廣泛影響的論文和著作,與EdsgcrWybe
Dijkstra并稱為我們這個時代最偉大的計(jì)算機(jī)科學(xué)家的
人。高德納還是TheArtofComputerProgramming(中
譯本《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》)的作者以及TeX和Metafont
排版軟件的發(fā)明人。
(1)算法特點(diǎn),無需回溯,在O(n+m)的時間量級上完成串的模式匹配操作
(2)KMP算法思想
(3)求解next數(shù)組的算法思想,舉例手工模擬過程
(4)算法實(shí)現(xiàn)
05.next數(shù)組的改進(jìn)
討論:模式串P=,aaaab'?其next函數(shù)值為01234,若主串為‘a(chǎn)aabaaabaaaab',當(dāng)i=4,j
=4時siWpj,由next|j]的指示還需進(jìn)行i=4、j=3,i=4、j=2,i=4、j=1等三次比較實(shí)際
L,由于模式中第1、2、3個字符和第4個字符都相等,囚此這種比較是不必要的,可以將模
式串一次向右滑動4個字符直接進(jìn)行i=5、j=l的比較。也就是說,若next[jl=k,當(dāng)si與pj
失配且pj=pk,則下一步不需將主串中的si與pk比較,而是直接與next[k]進(jìn)行比較。由以上
思想對nexl函數(shù)進(jìn)行改進(jìn)。
6.樸素模式匹配算法與KMP算法的比較
雖然樸素模式匹配算法的時間復(fù)雜度是O(n*m),但在一般情況下,其實(shí)際的執(zhí)行時T近似
于O(n+m),因此至今仍被采用。KMP算法僅當(dāng)主串與模式間存在許多“部分匹配”的情況下才
顯得快得多。KMP算法的最大特點(diǎn)是主串指針不回溯,在整個匹配過程中,對主串從頭到尾掃
描一遍,對于處理存儲在外存上的大文件是非常有效的。
7.課堂練習(xí)
【2015全國統(tǒng)考408】己知字符串S為"abaabaabacacaabaabcc",模式串t為"abaabc'1,
采用KMP算法進(jìn)行匹配,第一次出現(xiàn)“失配”(s[i]!=中])時,i=j=5,則下次開始匹配時,i和
j的值分別是()o
A.i=l,j=0B.i=5>j=0C.i=5?j=2D.i=6?j=2
8.算法設(shè)計(jì)舉例,寫出一個遞歸算法來實(shí)現(xiàn)字符串逆序存儲?!局锌圃貉芯可骸?/p>
三.課后鞏固(線上)
觀看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)測試;在“百利園”完成線性結(jié)構(gòu)闖關(guān)訓(xùn)練。
本章節(jié)的教學(xué)重點(diǎn)、難點(diǎn):
1.本章重點(diǎn)是串的模式匹配、手工描述求匹配串的nexl和nextval函數(shù)值。
2.難點(diǎn)是KMP算法的推導(dǎo)過程。
教學(xué)方法、教學(xué)手段:
1.串的概念和術(shù)語、串的表示和實(shí)現(xiàn)(30分鐘)
2.KMP算法、求解next和nextval(50分鐘)
3.算法設(shè)計(jì)(10分鐘)
3.使用教具:計(jì)算機(jī)和投影儀;
4.輔助教學(xué):雨課堂、校內(nèi)SPOC、“百科園”、學(xué)堂在線MOOC、算法演示動畫;
5.課前觀看導(dǎo)學(xué)視頻;課中案例展開,應(yīng)用翻轉(zhuǎn)課堂、項(xiàng)目驅(qū)動以及實(shí)踐教學(xué)法;課后觀
看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)在線測試。
作業(yè)、討論題、思考題:
1.設(shè)S為一個長度為n的字符串,其中的字符各不相同,則S中的互異的非平凡子串(非
空且不同于S本身)的個數(shù)是多少?
2.用順序結(jié)構(gòu)存儲的串S,編寫算法刪除S中第i個字符開始的j個字符。
3.模式率t=44abcaabbcaabdab'',求模式市的next和nextval數(shù)組的值。
4.對S='aabcbabcaabcaaba',T='bca',畫出以T為模式串,S為目標(biāo)串的匹配過程。
5.函數(shù)voidinsert(charchar*t,intpos)表示將字符串t插入到字符串s中,插入位置為
poso請編寫實(shí)現(xiàn)該函數(shù)的算法。假設(shè)分配給字符串s的空間足夠讓字符串t插入。
6.討論:kmp算法的特點(diǎn)是什么?BF算法已經(jīng)不適用了嗎?
參考資料:
1.馮廣慧,吳昊,文全剛.算法與數(shù)據(jù)結(jié)構(gòu)(C++語言版)[M].電子工業(yè)出版社,2019
2.陳守孔,胡瀟琨,李玲,馮廣慧.算法與數(shù)據(jù)結(jié)構(gòu)考研試題精析[M].機(jī)械工業(yè)出版社,2020
教案
講授章節(jié)第9講樹、二叉樹的概念和性質(zhì)
授課時數(shù)2
0教學(xué)目的:
1.理解樹是復(fù)雜的非線性數(shù)據(jù)結(jié)構(gòu),樹,二又樹的遞歸定義,基本概念,術(shù)語。
2.掌握二叉樹的性質(zhì),存儲結(jié)構(gòu)
教學(xué)內(nèi)容(講授提綱)
一.課前導(dǎo)學(xué)(線上)
1.觀看導(dǎo)學(xué)視頻
2.論壇討論、反饋疑難點(diǎn)
二.課堂教學(xué)
1.樹的基本概念合術(shù)語
0
o
2.二叉樹的基本概念和特點(diǎn),二叉樹的5種基本形態(tài)
3.二叉樹的5個性質(zhì)1對每個性質(zhì),都要會證明)
性質(zhì)1:一個非空二叉網(wǎng)的第i層上至多有2M個結(jié)點(diǎn)(i>l)o
性質(zhì)2:深度為k的二叉樹至多有2k—1個結(jié)點(diǎn)(k>l)o
性質(zhì)3:任何一棵二叉網(wǎng)中,若葉子數(shù)為no,度為2的結(jié)點(diǎn)個數(shù)為m,則110=112+1。
性質(zhì)4:具有n個結(jié)點(diǎn)的完全二叉樹的深度為「log2(〃+l)]。
性質(zhì)5:如果對一棵有n個結(jié)點(diǎn)的完全二叉樹按層次自上而下(每層自左而右)對結(jié)點(diǎn)
0從1到n進(jìn)行編號,則對任意一個結(jié)點(diǎn)i(l<i<n)有:
(1)若i=l,則結(jié)點(diǎn)i為根,無雙親;若i>l,則結(jié)點(diǎn)i的雙親結(jié)點(diǎn)的編號是
(2)若2iWn,則i的左孩子的編號是2i,否則i無左孩子。
(3)若2i+,n,則i的右孩子的編號是2i+l,否則i無右孩子。
4.課堂練習(xí)
(1)[2011全國統(tǒng)考408】若一棵完全二叉樹有768個結(jié)點(diǎn),則該二叉樹中葉結(jié)點(diǎn)的個數(shù)
是()<■
A.257B.258C.384D.385
(2)[2009全國統(tǒng)考4)8】已知一棵完全二叉樹的第6層(設(shè)根是第1層)有8個口一結(jié)點(diǎn),
則該完全二叉樹的結(jié)點(diǎn)個數(shù)最多是()。
A.39B.52C.IllD.119
三.課后鞏固(線上)
課后觀看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)測試。
本章節(jié)的教學(xué)重點(diǎn)、難點(diǎn):
重點(diǎn)和難點(diǎn)是二叉樹的特點(diǎn)和5個性質(zhì)。
教學(xué)方法、教學(xué)手段:
1.樹的概念和術(shù)語(30分鐘)
2.二又樹的概念和性質(zhì)(45分鐘)
3.課堂練習(xí)(15分鐘)
4.使用教具:計(jì)算機(jī)和投影儀;
5.輔助教學(xué):雨課堂、校內(nèi)SPOC、“百科園”在線考試系統(tǒng)、學(xué)堂在線MOOC、算法演示
動畫;
6.課前觀看導(dǎo)學(xué)視頻;課中案例展開,應(yīng)用翻轉(zhuǎn)課堂、項(xiàng)目驅(qū)動以及實(shí)踐教學(xué)法;課后觀
看習(xí)題視頻,并在校內(nèi)SPOC完成知識點(diǎn)在線測試。
作業(yè)、討論題、思考題:
1.設(shè)樹T的度為4,其中度為1,2,3和4的結(jié)點(diǎn)個數(shù)分別為4,2,1,1,求葉子數(shù)。
2.一棵完全二叉樹有500個結(jié)點(diǎn),請問該完全二叉樹有多少個葉子結(jié)點(diǎn)?有多少個度為1
的結(jié)點(diǎn)?有多少個度為2的結(jié)點(diǎn)?如果完全二叉樹有501個結(jié)點(diǎn),結(jié)果如何?請寫出推導(dǎo)過程
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 污水處理瓦工施工合同篇
- 墻板施工合同商場內(nèi)部裝修
- 高鐵維護(hù)合同執(zhí)行臺賬
- 旅游度假區(qū)建設(shè)項(xiàng)目土地租賃合同
- 主題公園內(nèi)部墻面翻新刮瓷合同
- 醫(yī)療中心空調(diào)系統(tǒng)安裝合同
- 居民小區(qū)地坪施工承包合同
- 咨詢項(xiàng)目部顧問聘用合同
- 2025工程建設(shè)項(xiàng)目招標(biāo)投標(biāo)合同書
- 2025危險物品承包運(yùn)輸合同范本
- 外事實(shí)務(wù)知到章節(jié)答案智慧樹2023年山東外事職業(yè)大學(xué)
- 護(hù)理查房慢性乙型病毒性肝炎護(hù)理查房
- 在實(shí)踐中認(rèn)識針刺麻醉原理
- 浙教版初中科學(xué)八年級上冊《4.2電流的測量》教學(xué)設(shè)計(jì)附反思
- 醫(yī)保檢查自查自糾報(bào)告
- 原味英語交流吧智慧樹知到答案章節(jié)測試2023年黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院(松北校區(qū))
- 風(fēng)量計(jì)算公式
- 人音版七上冊音樂知識匯總
- 幼兒園幼兒教育數(shù)學(xué)領(lǐng)域核心經(jīng)驗(yàn)
- proe基礎(chǔ)教程(完整)演示文稿
- 行為金融學(xué)課后答案1至5章anawer
評論
0/150
提交評論