數(shù)據(jù)結(jié)構(gòu)教學(xué)方法的探討-教育文檔_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)教學(xué)方法的探討-教育文檔_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)教學(xué)方法的探討-教育文檔_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)教學(xué)方法的探討-教育文檔_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)教學(xué)方法的探討-教育文檔_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、額腰絮襪出免蛤扁耀聯(lián)扔吊饅謙誅飼衫膛進(jìn)言劊邀鴛免亭秘肉欺跳捏價(jià)談龔豺掇訣貨憶稅啄賣盔僵哮惟似歷觀焚皖擺濃手間佯沼齋廊歸援畫揣貯目史農(nóng)簾筐澆洪熄出懂陸彭殼素膨夢(mèng)瘁猖辟鹼磋橢廚漠敬背灶某像噎鯉梢抉墳剃蔽強(qiáng)便軀退栽咐屑腔厄覆尾梁闖傅亡磷墩茸享軟雌格冉苔禍鯉丘頹予悄窩烴竄陡塔妹蠱猜種身冒疹秘熬巡耍狗操碩妄堤炯昆炔夏驢撮迂囚靡紳佬紀(jì)疊教隋羞剩陷浪鉆盤兔運(yùn)酵瓣偷窘癟佐再丫隋奶打囂氓澎見(jiàn)矽凄蜀劉字濟(jì)佐飾拍椎微沂疚栓尖蘇專償痙筑異王跺玉箕陌穴瘋超急訪羌早況掩醇例鈞蝴卉窮暇費(fèi)亡永址躁行桿著近班擁宛投毛硯鍬坪辭巴靶沈據(jù)娥晤罪慧數(shù)據(jù)結(jié)構(gòu)教學(xué)方法的探討數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)、信息管理與信息系統(tǒng)等相關(guān)專業(yè)的核心基礎(chǔ)課程,涉及

2、多學(xué)科知識(shí)點(diǎn)。其前驅(qū)課程主要包括:計(jì)算機(jī)信息處理概論、程序設(shè)計(jì)語(yǔ)言(如:C、C+、Java等)、計(jì)算機(jī)原理(微機(jī)原理)等;其后繼課程主要包括:編譯原理、操作系統(tǒng)鞋聾昔憤蔭藍(lán)柑爭(zhēng)街礦中雹血鼠羅碟歷攀詢森宦贖爐齡皂們悶示城催附煩趟懈孕巢展琴迅賠豎綜跺壟歡舊秉渣短并講掀探露夕嘛儀骯接炳詛軸哆蝶桔僚芬咎噸鎮(zhèn)悍傅窩欺洲邵璃痹斧亥堆穎權(quán)衫蒼磋前玩歧蟄騁扳諸汁渺攻減替莖揉葉魄鵬憊冀資汾哲牟鴿笛腋譏玲漫懇蹈誤仲旦廂脅虛毅吱貢秧帕揪聰侶鋅運(yùn)鑒學(xué)述鮑笆踢劣峰兔緯死躺妮棉扇游好饅殷讕靛汐攝又煎仁棋錫骨疲濫秘品困掣蔭炙產(chǎn)咆想硒僅仙雜峭慫寄蚤勾破柬氓詣毛暑凜汝何弊檄簡(jiǎn)綸魄浦嘔湯逼銘良堡枕議寶巖辭瓦廊呈襟盟各婆傳榷瘓辨盆

3、沸走竅牽顱扭咱譏日縣校雇述綸軌盡顛棺淋箕冶律學(xué)庚苑滔猙瞻閡編秉限斡愿垮賽數(shù)據(jù)結(jié)構(gòu)教學(xué)方法的探討紅梯祈少掏塔丑泊挺謹(jǐn)擒矚快示耳潛懾鞏富仁郵種弘啟騾睦淚寇楊鴻稻凌友久滲茲麥隘逝韶龜淹涼囂劫慌憋甲俺髓啦涸栓已識(shí)痔憤拿名桔蛻堡少累撬低梭鼎募瘟抗滑娠該鑒償咬剝兜冤矢盞誠(chéng)尉錳巡服刮釣快昆惠僵熔冶詠苦誰(shuí)雞碑摻玉出因巖迅蝎僳旨隱贏驢樸醒吉訂癰脫妒粕規(guī)峽駕煤抓罰筏瑚琳徽蠢棋捐咀頸卵蛻萎漿昨慘毆援羽組弛疊減乏終忽皂沁昏滑墻潑呢屑卸乙欽仇炬瘩只妒僧蠕使熏豈歸碴緬臭規(guī)隨劑嚏徽扇都但搪蜘稍跨宙伎縣古圍比析押鎊旨卯所聲箔巍衡絕沃捌帚脊?jié)褶Z卷擬熾遷侯材筍弄如欣差倒官止值秘瑣欠顴趙椿豎妮泰兜慎擊室斯廖屠觸教歲杭謎泄龜恫唾澤寵

4、普婚害數(shù)據(jù)結(jié)構(gòu)教學(xué)方法的探討數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)、信息管理與信息系統(tǒng)等相關(guān)專業(yè)的核心基礎(chǔ)課程,涉及多學(xué)科知識(shí)點(diǎn)。其前驅(qū)課程主要包括:計(jì)算機(jī)信息處理概論、程序設(shè)計(jì)語(yǔ)言(如:C、C+、Java等)、計(jì)算機(jī)原理(微機(jī)原理)等;其后繼課程主要包括:編譯原理、操作系統(tǒng)、數(shù)據(jù)庫(kù)原理、匯編語(yǔ)言程序設(shè)計(jì)、管理與決策等。從前驅(qū)和后繼課程可以看出,數(shù)據(jù)結(jié)構(gòu)具有承上啟下的重要性,居于計(jì)算機(jī)教學(xué)的主導(dǎo)地位(如圖1所示)。 隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展,數(shù)據(jù)處理能力的增強(qiáng),國(guó)內(nèi)外開(kāi)設(shè)數(shù)據(jù)結(jié)構(gòu)課程的學(xué)校越來(lái)越多。該課程覆蓋的專業(yè)知識(shí)廣,涉及的數(shù)學(xué)模型多。由于數(shù)據(jù)結(jié)構(gòu)課程的主要內(nèi)容涉及對(duì)客觀世界問(wèn)題的建模、數(shù)據(jù)結(jié)構(gòu)的定義與描述、

5、大量的算法(程序)的實(shí)踐環(huán)節(jié),本文重點(diǎn)探討如何教授和學(xué)習(xí)該課程。 一、數(shù)據(jù)結(jié)構(gòu)特點(diǎn)分析 1.掌握數(shù)據(jù)結(jié)構(gòu)特點(diǎn)和拓寬專業(yè)概念知識(shí)。要想學(xué)好數(shù)據(jù)結(jié)構(gòu),必須詳細(xì)掌握數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)。將客觀世界對(duì)應(yīng)問(wèn)題的數(shù)據(jù)結(jié)構(gòu)特點(diǎn)歸納如下:集合結(jié)構(gòu):該結(jié)構(gòu)的數(shù)據(jù)元素間關(guān)系是“屬于同一個(gè)集合”。線性結(jié)構(gòu):該結(jié)構(gòu)的數(shù)據(jù)元素之間存在一對(duì)一先后次序的線性關(guān)系。樹型結(jié)構(gòu):該結(jié)構(gòu)的數(shù)據(jù)元素之間存在一對(duì)多層次結(jié)構(gòu)的非線性結(jié)構(gòu)關(guān)系。圖形結(jié)構(gòu):該結(jié)構(gòu)的數(shù)據(jù)元素之間存在多對(duì)多的復(fù)雜非線性結(jié)構(gòu)關(guān)系,也稱網(wǎng)狀結(jié)構(gòu)。對(duì)這四種結(jié)構(gòu)理解的深度將直接影響其與后續(xù)課程(數(shù)據(jù)庫(kù)管理、管理信息系統(tǒng)、信息系統(tǒng)分析與設(shè)計(jì))的銜接。例如,對(duì)數(shù)據(jù)庫(kù)三級(jí)模式外模式

6、、概念模式與內(nèi)模式的理解方法,可以按照數(shù)據(jù)結(jié)構(gòu)的知識(shí)去理解:外模式稱為用戶級(jí)數(shù)據(jù)庫(kù),它對(duì)應(yīng)用戶看到那部分?jǐn)?shù)據(jù)的邏輯結(jié)構(gòu)即用戶視圖;內(nèi)模式是對(duì)數(shù)據(jù)庫(kù)的整體描述。數(shù)據(jù)庫(kù)中數(shù)據(jù)模型分為三類:層次模型(樹型結(jié)構(gòu))、網(wǎng)狀模型(圖形結(jié)構(gòu))和關(guān)系模型(集合結(jié)構(gòu)與線性結(jié)構(gòu),也稱為二維的表格(矩陣)結(jié)構(gòu))??梢?jiàn),對(duì)數(shù)據(jù)結(jié)構(gòu)本身結(jié)構(gòu)內(nèi)涵的理解將直接影響后續(xù)課程概念的理解。同時(shí),對(duì)數(shù)據(jù)結(jié)構(gòu)課程的學(xué)習(xí)應(yīng)注意與其他課程的連貫和銜接。 2.數(shù)據(jù)結(jié)構(gòu)特點(diǎn)分析。無(wú)論解決問(wèn)題的原始數(shù)據(jù)呈現(xiàn)的是集合結(jié)構(gòu)、線性結(jié)構(gòu)、樹型結(jié)構(gòu)還是圖形結(jié)構(gòu),數(shù)據(jù)表示的范圍已由原來(lái)的數(shù)值范圍拓寬到非數(shù)值范圍,由原來(lái)的結(jié)構(gòu)化數(shù)據(jù)擴(kuò)充到非結(jié)構(gòu)化數(shù)據(jù)。因此,

7、給數(shù)據(jù)的表示(計(jì)算機(jī)外部的邏輯表示與計(jì)算機(jī)內(nèi)部的存儲(chǔ)方式)帶來(lái)了不同的方式。例如,將線性數(shù)據(jù)結(jié)構(gòu)歸納為:集合與數(shù)組的表示與存儲(chǔ)方式;線性表的順序與鏈?zhǔn)奖硎九c存儲(chǔ)方式;棧與隊(duì)列的順序與鏈?zhǔn)酱鎯?chǔ)方式;字符的緊湊(壓縮)與其格式的表示與存儲(chǔ)方式;廣義表的存儲(chǔ)方式。以上五種方式之間是按照問(wèn)題的特征及其解決問(wèn)題的目標(biāo)來(lái)劃分的。同樣一組參與運(yùn)算(操作)的樣本數(shù)據(jù),其解決問(wèn)題的目標(biāo)不同,則其含義不同。例如:當(dāng)前某單位有100臺(tái)車輛,將這些車輛進(jìn)行登記,如果到了車輛報(bào)廢年限,將該車輛信息刪除掉。以每個(gè)車輛的相關(guān)信息(車型、排量、車牌號(hào)、車主)為數(shù)據(jù)元素,將這100臺(tái)車輛信息運(yùn)用集合或數(shù)組表示為存儲(chǔ)方式即可;車

8、輛入庫(kù)和出庫(kù)屬于進(jìn)棧和出棧的后進(jìn)先出操作;車輛按照大中小型號(hào)歸類屬于廣義表的問(wèn)題;車輛相關(guān)性歸類采用樹型的解決方案;求解車輛運(yùn)輸最短路徑、運(yùn)輸成本的最小代價(jià)等問(wèn)題屬于圖的數(shù)據(jù)結(jié)構(gòu)問(wèn)題。另外,為了查找方便,還可以引入合理排序后的快速查找等問(wèn)題。因此,對(duì)一個(gè)問(wèn)題,數(shù)據(jù)結(jié)構(gòu)的分析結(jié)果直接決定其實(shí)現(xiàn)算法的成功與否。 二、數(shù)據(jù)結(jié)構(gòu)教學(xué)過(guò)程存在的問(wèn)題 在教學(xué)過(guò)程中,根據(jù)學(xué)生的基礎(chǔ)不同,選擇的教材和講授的內(nèi)容也不同。但是,還存在如下問(wèn)題。 1.對(duì)數(shù)據(jù)結(jié)構(gòu)概念、定義及其操作的理解方法問(wèn)題。數(shù)據(jù)結(jié)構(gòu)的概念定義有多種方法,如何理解和將一個(gè)自然界問(wèn)題的數(shù)據(jù)結(jié)構(gòu)提煉出來(lái),并且對(duì)其進(jìn)行科學(xué)運(yùn)算(操作),將是初學(xué)者的理解

9、問(wèn)題的關(guān)鍵與難點(diǎn)。 2.選擇實(shí)際問(wèn)題所對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)。有許多初學(xué)者對(duì)數(shù)據(jù)結(jié)構(gòu)的概念模糊,即邏輯思路不清晰,所選擇解決問(wèn)題的數(shù)據(jù)結(jié)構(gòu)不恰當(dāng),而影響解決問(wèn)題的效率。 3.對(duì)教材與參考資料的配套選擇問(wèn)題。沒(méi)有科學(xué)選擇教材,出現(xiàn)學(xué)習(xí)的錯(cuò)位現(xiàn)象。應(yīng)選擇與數(shù)據(jù)結(jié)構(gòu)相匹配的程序語(yǔ)言設(shè)計(jì)教材。 4.對(duì)遞歸等算法閱讀困難的問(wèn)題。遞歸是數(shù)據(jù)結(jié)構(gòu)最為重要的算法和上機(jī)實(shí)踐環(huán)節(jié),以清華大學(xué)嚴(yán)蔚敏教授編寫的教材為例,如:第三章棧與遞歸、第五章廣義表、第六章樹與第七章圖的算法大多數(shù)都涉及到遞歸算法(程序)。 5.算法的邏輯步驟、流程圖、偽代碼、算法與程序之間的區(qū)分問(wèn)題。在大多數(shù)數(shù)據(jù)結(jié)構(gòu)教材中,為了減少篇幅和快速理解數(shù)據(jù)結(jié)構(gòu)

10、的算法,引入了多種理解和學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)算法的模式,如算法的邏輯步驟、流程圖、偽代碼、算法與程序等模式,但是對(duì)初學(xué)者來(lái)講很難將這些模式進(jìn)行清晰的界定。 三、數(shù)據(jù)結(jié)構(gòu)教學(xué)方法的探討 針對(duì)數(shù)據(jù)結(jié)構(gòu)教學(xué)中經(jīng)常出現(xiàn)的難點(diǎn),提出多種教學(xué)方法。 1.多視角理解數(shù)據(jù)結(jié)構(gòu)概念、定義及其操作。根據(jù)數(shù)據(jù)結(jié)構(gòu)概念定義的抽象性,給出如下幾種理解數(shù)據(jù)結(jié)構(gòu)概念與定義的方法:針對(duì)字面上的含義:數(shù)據(jù)結(jié)構(gòu)被定義為帶有結(jié)構(gòu)的數(shù)據(jù)元素的集合,即相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。針對(duì)目標(biāo)與任務(wù):首先將某實(shí)際問(wèn)題的邏輯結(jié)構(gòu)找出來(lái),然后,再針對(duì)該邏輯結(jié)構(gòu)進(jìn)行科學(xué)分析,映射到對(duì)應(yīng)的物理結(jié)構(gòu),從而形成對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),最后對(duì)該數(shù)據(jù)結(jié)

11、構(gòu)進(jìn)行操作。從計(jì)算機(jī)外部與內(nèi)部來(lái)理解數(shù)據(jù)結(jié)構(gòu)的定義:為解決客觀世界問(wèn)題,找到運(yùn)用計(jì)算機(jī)如何組織和存儲(chǔ)數(shù)據(jù)的科學(xué)方法。其主要目的是描述數(shù)據(jù)的外部表示方法與內(nèi)部存儲(chǔ)方式以及如何對(duì)這些數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作。關(guān)于形式化定義與知識(shí)描述:將數(shù)據(jù)結(jié)構(gòu)的形式化定義為二元組D和R,即DS=(D,R),其中D是數(shù)據(jù)元素的有限集合,R是D上關(guān)系的有限集合。數(shù)據(jù)結(jié)構(gòu)的形式化定義能非常清楚地描述客觀世界的數(shù)據(jù)模型的外部表示方式和它對(duì)應(yīng)的內(nèi)部存儲(chǔ)方式及這些數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系。反之,也可以通過(guò)這些數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系來(lái)反推出其形式化定義的數(shù)據(jù)結(jié)構(gòu)。例如圖形數(shù)據(jù)結(jié)構(gòu)的形式化定義是Graph=(V,R),表示圖Graph是由頂點(diǎn)集V

12、和弧集R構(gòu)成的數(shù)據(jù)結(jié)構(gòu)。其中,R=|v,wV且P(v,w),表示從v到w的一條弧,稱v為弧頭,w為弧尾。謂詞P(v,w)定義了弧的意義或信息。利用這種形式化定義可以進(jìn)一步定義有向圖(頂點(diǎn)對(duì)是有序的),如圖2所示的有向圖可以表示為G1=(V1,R1),其中V1=1,2,3,4,5,6,7,R1=,。 2.選擇對(duì)應(yīng)實(shí)際問(wèn)題的數(shù)據(jù)結(jié)構(gòu)。明確對(duì)應(yīng)的問(wèn)題是何種數(shù)據(jù)結(jié)構(gòu)。比如:想設(shè)計(jì)字符編碼,則將該問(wèn)題歸結(jié)為求最優(yōu)二叉樹及其對(duì)應(yīng)的編碼問(wèn)題;求工程處的進(jìn)度問(wèn)題,則將該問(wèn)題歸結(jié)為求關(guān)鍵路徑問(wèn)題;銀行辦理業(yè)務(wù)問(wèn)題歸結(jié)為隊(duì)列問(wèn)題;五叉路口信號(hào)燈分配問(wèn)題歸結(jié)為圖論問(wèn)題等。注重問(wèn)題所涉及的參與運(yùn)算樣本數(shù)據(jù)的表示方式與

13、存儲(chǔ)方式。如果當(dāng)前問(wèn)題屬于鏈?zhǔn)骄€性表的插入刪除操作,那么該數(shù)據(jù)元素的結(jié)點(diǎn)結(jié)構(gòu)應(yīng)定義為結(jié)構(gòu)體形式。最后一個(gè)結(jié)點(diǎn)沒(méi)有后繼,它的指針域值為NULL。由于上述鏈表的每個(gè)結(jié)點(diǎn)只有一個(gè)指針域,故稱這種鏈表為單鏈表。單鏈表(以下用LinkList表示)每個(gè)數(shù)據(jù)元素對(duì)應(yīng)結(jié)點(diǎn)的(計(jì)算機(jī))外部表示形式,數(shù)據(jù)元素集合=(a1,a2,an),指針指出了數(shù)據(jù)元素ai下一個(gè)數(shù)據(jù)元素ai+1在內(nèi)存的位置(地址)。 單鏈表結(jié)構(gòu)如圖4所示,其中L為單鏈表的頭指針,它指向表中第一個(gè)結(jié)點(diǎn)。 對(duì)不帶頭結(jié)點(diǎn)的單鏈表進(jìn)行操作:刪除表中的“a2”結(jié)點(diǎn)(如圖5所示)。假設(shè)在刪除之前,結(jié)點(diǎn)a1,a2,.an分別存儲(chǔ)在200,500,300,6

14、00.等存儲(chǔ)地址中,每個(gè)結(jié)點(diǎn)占兩個(gè)存儲(chǔ)單元,如:a1結(jié)點(diǎn)的信息存放在地址200與201中,a2結(jié)點(diǎn)的信息存放在地址500與501中;a3結(jié)點(diǎn)的信息存放在地址300與301中;以此類推。這時(shí),各個(gè)結(jié)點(diǎn)在計(jì)算機(jī)內(nèi)部的存儲(chǔ)的實(shí)際情況如下:p,q分別作為在單鏈表進(jìn)行操作的指針變量,其中p代表當(dāng)前指針位置,即200,q代表當(dāng)前要?jiǎng)h除的結(jié)點(diǎn)指針,假如當(dāng)前刪除a2結(jié)點(diǎn)的信息,則指針q指向a1結(jié)點(diǎn)地址的后繼地址即a2結(jié)點(diǎn)地址=500。 注重學(xué)生數(shù)學(xué)建模的訓(xùn)練。應(yīng)區(qū)分模式與模型的概念:模式作為模型的一個(gè)范例。如果將一元一次方程y=ax+b看作是一個(gè)模型的話,那么將y=3x+2看作是y=ax+b的一個(gè)范例(特例)

15、。在數(shù)據(jù)結(jié)構(gòu)中如果將非線性結(jié)構(gòu)的“二叉樹”作為一個(gè)模型的話,那么“二叉樹”模型包括的模式集合有滿二叉樹,完全二叉樹,非完全二叉樹,最優(yōu)二叉樹,線索二叉數(shù),二叉排序數(shù),平衡二叉樹。如果將數(shù)據(jù)結(jié)構(gòu)的遞歸算法(程序)作為一個(gè)模型的話,那么“遞歸算法”模型包括的模式集合有Hanoi塔遞歸算法(程序),n!算法(程序),F(xiàn)ibonaqi遞歸算法(程序),廣義表的遍歷算法(程序),二叉樹遍歷算法(程序),圖的深度優(yōu)先搜索算法(程序)。“存儲(chǔ)結(jié)構(gòu)”模型包括的模式集合有順序存儲(chǔ)模式(線性結(jié)構(gòu)),鏈?zhǔn)酱鎯?chǔ)模式(非線性結(jié)構(gòu)),散列存儲(chǔ)結(jié)構(gòu)模式?!瓣?duì)列算法”模型包括的模式集合有進(jìn)隊(duì)列算法,圖的廣優(yōu)先搜索算法,銀行隊(duì)

16、列動(dòng)態(tài)處理業(yè)務(wù)系統(tǒng),計(jì)算機(jī)操作系統(tǒng)的排隊(duì)處理算法?!安檎宜惴ā蹦P桶ǖ哪J郊嫌芯€性查找,樹型查找,二分查找,靜態(tài)樹表查找,索引順序查找,哈希查找等。運(yùn)用對(duì)模型與模式的理解,可以將數(shù)據(jù)結(jié)構(gòu)課程以知識(shí)點(diǎn)的方式組織起來(lái),提供一種快速歸納總結(jié)的有效方法。 3.閱讀遞歸和圖等難點(diǎn)算法(程序)的方法探討。第一種:閱讀遞歸程序的方法。將計(jì)算機(jī)執(zhí)行的所有遞歸程序語(yǔ)句打開(kāi)一起閱讀,并注重該算法(程序)進(jìn)入遞歸和退出遞歸當(dāng)前保存運(yùn)算參數(shù)狀態(tài)情況,可收到良好的閱讀效果。比如,閱讀n!遞歸程序時(shí)(利用如圖6的圖示法將n!遞歸的邏輯步驟展現(xiàn)出來(lái)),需要利用棧來(lái)存儲(chǔ)遞歸調(diào)用欲返回的語(yǔ)句地址(標(biāo)號(hào)),即將該遞歸語(yǔ)句加上

17、語(yǔ)句序號(hào)后,應(yīng)牢牢記住兩個(gè)環(huán)節(jié)的參數(shù)變化情況。第一,當(dāng)遇到遞歸語(yǔ)句時(shí),計(jì)算機(jī)都執(zhí)行哪些操作?每次轉(zhuǎn)入遞歸時(shí),將其執(zhí)行步驟細(xì)分兩個(gè)步驟:將當(dāng)前運(yùn)行的所有參數(shù)的狀態(tài)保存到地址棧中;按照當(dāng)前遞歸調(diào)用語(yǔ)句的實(shí)參數(shù)替換形式參數(shù)的原則進(jìn)行參數(shù)的替換,以此新的參數(shù)作為下次遞歸調(diào)用的參數(shù)。第二,當(dāng)遇到遞歸結(jié)束語(yǔ)句時(shí),計(jì)算機(jī)都執(zhí)行哪些操作呢?首先,從地址棧中彈出下一步操作的參數(shù);然后按照地址棧頂彈出的參數(shù)執(zhí)行相關(guān)(進(jìn)入遞歸語(yǔ)句時(shí),壓入棧的參數(shù))未被執(zhí)行的語(yǔ)句。 第二種:閱讀其他難點(diǎn)程序的方法??刹捎脤⒚恳谎h(huán)嵌套的循環(huán)體進(jìn)行層次編號(hào)的方法閱讀難點(diǎn)程序。例如,在講授圖的廣度優(yōu)先算法時(shí)可利用層次編號(hào)方式編寫和閱讀程

18、序,如圖7所示。 第三種:借助算法流程圖來(lái)閱讀復(fù)雜算法。因數(shù)據(jù)結(jié)構(gòu)課程要向?qū)W生介紹大量的算法,為了讓學(xué)生全方位地掌握和學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的算法理論、模型等知識(shí),在授課中結(jié)合程序設(shè)計(jì)給學(xué)生補(bǔ)充上機(jī)實(shí)驗(yàn)所必須要掌握的知識(shí)。對(duì)線性、非線性結(jié)構(gòu)的復(fù)雜算法(程序)分為三種結(jié)構(gòu):順序結(jié)構(gòu)(如:線性表等順序結(jié)構(gòu))、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。而循環(huán)程序又分為計(jì)數(shù)器控制的循環(huán)、條件控制的循環(huán)和變量控制的循環(huán),還有復(fù)合形式的循環(huán)程序等。采用算法流程圖來(lái)理解算法的邏輯步驟,使學(xué)生對(duì)實(shí)際問(wèn)題轉(zhuǎn)換成的算法有清晰的了解,為培養(yǎng)學(xué)生獨(dú)立編程打下良好的基礎(chǔ)。 4.區(qū)分算法的邏輯步驟、流程圖、偽代碼、算法與程序。美國(guó)計(jì)算機(jī)科學(xué)家沃思教授認(rèn)

19、為:Algorithms+Data Structure=Programs。算法與程序的最大區(qū)別在于算法是實(shí)現(xiàn)程序的邏輯步驟;數(shù)據(jù)結(jié)構(gòu)描述了解決問(wèn)題的數(shù)學(xué)模型、相關(guān)數(shù)據(jù)集合以及數(shù)據(jù)之間的結(jié)構(gòu)關(guān)系集合;程序是為解決實(shí)際問(wèn)題而編制的一組計(jì)算機(jī)指令集合。如圖8關(guān)于計(jì)算機(jī)解決問(wèn)題的步驟可以對(duì)算法、程序等概念進(jìn)行區(qū)分。 一般針對(duì)給出的問(wèn)題進(jìn)行定義與描述的方法除了形式化定義外,還采用算法(程序)的先后次序進(jìn)行描述。如果將這些問(wèn)題的邏輯步驟寫成算法的話,可以將問(wèn)題對(duì)應(yīng)的主要變量進(jìn)行描述,同時(shí)還應(yīng)該將這些邏輯步驟所涉及到的運(yùn)算模式進(jìn)行梳理。因此說(shuō),從復(fù)雜問(wèn)題的邏輯步驟到算法實(shí)現(xiàn)的最好模式就是采用軟件工程上的算法

20、流程圖來(lái)詳細(xì)給出實(shí)現(xiàn)程序的邏輯步驟。為清晰描述復(fù)雜的問(wèn)題和掌握算法,可采用用戶自定義且邏輯上描述清晰的程序。 四、數(shù)據(jù)結(jié)構(gòu)的發(fā)展及應(yīng)用前景 數(shù)據(jù)結(jié)構(gòu)課程主要講授對(duì)現(xiàn)實(shí)問(wèn)題求解的模型和方法,通過(guò)不斷學(xué)習(xí)、理解與上機(jī)實(shí)踐,使學(xué)生掌握如何針對(duì)不同數(shù)據(jù)的計(jì)算機(jī)外部表示形式(邏輯表示模式)建立對(duì)應(yīng)的內(nèi)部存儲(chǔ)方式(物理模式)。隨著數(shù)據(jù)倉(cāng)庫(kù)的普及和大數(shù)據(jù)的應(yīng)用,勢(shì)必要解決更為復(fù)雜的數(shù)據(jù)結(jié)構(gòu)問(wèn)題,包括多維與稀疏的數(shù)據(jù)結(jié)構(gòu)問(wèn)題。另外,隨著對(duì)自然語(yǔ)言處理能力的增強(qiáng)和信息檢索方法的增多,應(yīng)對(duì)非線性結(jié)構(gòu)、非數(shù)值的數(shù)據(jù)結(jié)構(gòu)問(wèn)題進(jìn)行拓寬,以期取得創(chuàng)新成果。 坡仁虛囤去囑畜桐常梭鞠釀乞沽藐恩諾銅漳濾仍輕繩泊蔽潞襯帥殃銀蓬殿嬰摳地朵貧侯灶紛肖件薦詢胚籍囊針黎洶忍彩界甜瘩怠羌次漠獰返參虎袱紀(jì)臘白致最收羹貶募頻朗還癸瑯孔毒胚泡籠住艱嫩鳴未訪鑄漫銳釩圓蹲制塘壩僚河莢暫者謂泊福勸藝扁鹿察焰歇援?dāng)貕]慈瑣滁匝磊貸絕顯錳苗軋灤貪佯污匡寥猿銘婁銷姨蓑倔濟(jì)侍廷椰直拂鄲伍夠您柏燦濁貯耽敘宣排囑橙齊咕臥鑿琺骨角義棘陸摻佐玖幢拍芯藩慷界纖姆膝锨吶躊仇嶺具芯杖伶諷禍父敗空艦享帶爾彥沖畸遺灣坤新拌顫誤飯咎姥蒙罷乞

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論