国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

算法演示在“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)中的應(yīng)用探討

2010-11-09 06:48:58
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu)理論內(nèi)容

趙 靜

(蘭州職業(yè)技術(shù)學(xué)院信息工程系,蘭州 730070)

算法演示在“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)中的應(yīng)用探討

趙 靜

(蘭州職業(yè)技術(shù)學(xué)院信息工程系,蘭州 730070)

算法是“數(shù)據(jù)結(jié)構(gòu)”課程的重要內(nèi)容。就當(dāng)前“數(shù)據(jù)結(jié)構(gòu)”課程的教學(xué)現(xiàn)狀,討論了算法演示在“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)中應(yīng)用的可行性并提出了具體應(yīng)用方法。

數(shù)據(jù)結(jié)構(gòu);算法演示;輔助教學(xué)

1 引言

“數(shù)據(jù)結(jié)構(gòu)”課程作為計(jì)算機(jī)及相關(guān)專業(yè)的專業(yè)基礎(chǔ)課,其教學(xué)歷來都受到各個(gè)高校的重視。該課程的培養(yǎng)目的就是培養(yǎng)學(xué)生編寫清晰、準(zhǔn)確的算法和程序的能力。然而由于“數(shù)據(jù)結(jié)構(gòu)”課程的內(nèi)容抽象難以理解,特別是算法部分的講解難度比較大,而且學(xué)生的學(xué)習(xí)和理解也比較困難,因此我們可以借助算法演示軟件這一輔助教學(xué)工具來降低算法講解教學(xué)中的難度。

算法演示以直觀的動(dòng)畫演示界面將數(shù)據(jù)結(jié)構(gòu)模型和算法的緊密聯(lián)系展現(xiàn)出來,是一種有效的、可用于課堂和課后的輔助教學(xué)手段,以此調(diào)動(dòng)學(xué)生的積極性,激發(fā)學(xué)生的學(xué)習(xí)興趣,從而提高教師授課的效果,降低學(xué)生學(xué)習(xí)的難度。

2 算法演示的優(yōu)越性

目前在大多數(shù)高校該課程中算法內(nèi)容的教學(xué)方式主要是以教師和學(xué)生手動(dòng)抄寫算法語句為主,沒有將算法在實(shí)驗(yàn)中驗(yàn)證,而且通常教師在講解時(shí)往往忽視了算法與數(shù)據(jù)結(jié)構(gòu)模型的結(jié)合,這就使得算法與數(shù)據(jù)結(jié)構(gòu)模型被孤立起來了。這樣的教學(xué)方式更增加了學(xué)生學(xué)習(xí)的難度。同這種傳統(tǒng)的教學(xué)方法相比,算法演示主要是利用可視化技術(shù)和多媒體工具,以生動(dòng)直觀的畫面顯示方式輔助“數(shù)據(jù)結(jié)構(gòu)”課程的教學(xué),并具有如下的一些優(yōu)越性:

2.1 能夠提高教學(xué)效率

算法演示實(shí)驗(yàn)是理論在實(shí)踐中的運(yùn)用,能輔助教師講解理論內(nèi)容,幫助學(xué)生學(xué)習(xí)和理解。使用算法演示的目的之一就是提高“數(shù)據(jù)結(jié)構(gòu)”課程的教學(xué)效率。只要教師和學(xué)生都充分合理地使用算法演示軟件,教學(xué)效率必然會(huì)有很大提高。

2.2 有利于培養(yǎng)學(xué)生動(dòng)手實(shí)踐的能力

“數(shù)據(jù)結(jié)構(gòu)”課程是一門專業(yè)基礎(chǔ)課,其先行課程都是一些泛泛的、無需實(shí)驗(yàn)的理論課程,在這種情況下,學(xué)生的動(dòng)手實(shí)踐能力還處于初級階段。算法演示能以其動(dòng)畫性、新穎性吸引學(xué)生的注意力,激起學(xué)生動(dòng)手實(shí)踐的求知欲,再加上教師的適當(dāng)指導(dǎo)和鼓勵(lì),一定程度上能幫助學(xué)生培養(yǎng)和提高動(dòng)手實(shí)踐的能力。

2.3 有利于培養(yǎng)學(xué)生的學(xué)習(xí)和科研能力

大學(xué)生畢業(yè)后,無論是前往工作單位工作,還是繼續(xù)深造讀研究生,學(xué)習(xí)能力和科研能力都是必需的素質(zhì)。算法演示強(qiáng)調(diào)學(xué)生的參與,調(diào)動(dòng)學(xué)生的自學(xué)積極性,鍛煉學(xué)生的思維,幫助培養(yǎng)學(xué)習(xí)和科研能力,以適應(yīng)以后的工作和學(xué)習(xí)生活。

3 算法演示內(nèi)容構(gòu)成及軟件的模式

3.1 內(nèi)容構(gòu)成

“數(shù)據(jù)結(jié)構(gòu)”課程中涉及的算法比較多,將所有的算法都進(jìn)行演示是不現(xiàn)實(shí)的,因此為了幫助學(xué)生理解和學(xué)習(xí),需要演示的算法必須精心選擇。一般遵循經(jīng)典的、典型的、能夠說明理論問題并且易于實(shí)現(xiàn)的原則去選擇要演示的算法。按照這一原則,我們精心挑選了一些算法,線性結(jié)構(gòu)部分的算法有線性鏈表的建立、插入、刪除算法,順序棧的元素壓入和彈出、漢諾塔遞歸算法,鏈?zhǔn)疥?duì)列的建立、插入、刪除算法,三元組的轉(zhuǎn)置等;樹結(jié)構(gòu)部分的算法有樹結(jié)點(diǎn)的插入、刪除操作,二叉樹的前序、中序、后序遍歷,線索二叉樹的構(gòu)建,Huffman樹的構(gòu)建,森林與二叉樹的相互轉(zhuǎn)換等;圖結(jié)構(gòu)部分的算法包括圖的深度、廣度優(yōu)先搜索,Prim算法和 Kruskal算法,拓?fù)渑判?Dijkstra算法等;還有一些綜合應(yīng)用的算法,如線性表查找,二叉排序樹的生成、樹結(jié)點(diǎn)的插入和刪除,平衡二叉樹的節(jié)點(diǎn)插入,B+樹、B-樹的節(jié)點(diǎn)插入和刪除,折半查找算法,分塊查找算法,冒泡排序,直接插入排序,歸并排序,希爾排序,快速排序,簡單選擇排序,堆排序和堆的生成等。對于這些選出來的算法,可以按照“數(shù)據(jù)結(jié)構(gòu)”課程的章節(jié)內(nèi)容順序進(jìn)行組織,也可以按照獨(dú)立的知識單元進(jìn)行組織,方便在教學(xué)時(shí)使用。

3.2 算法演示的模式

對于一個(gè)具體的算法,演示的內(nèi)容包括用某種高級語言編寫的算法程序,該算法所使用的數(shù)據(jù)結(jié)構(gòu)模型,算法執(zhí)行過程中數(shù)據(jù)結(jié)構(gòu)的動(dòng)態(tài)變化和跟蹤等。從軟件的角度看,算法演示界面可以分為三個(gè)部分:算法動(dòng)態(tài)跟蹤區(qū)、圖形化動(dòng)態(tài)演示區(qū)以及全局控制。

算法動(dòng)態(tài)跟蹤區(qū)要將用某種高級語言編寫的算法程序顯示在演示界面上,根據(jù)采用的教材不同,算法可以用類 C、類 PASCAL或類 JAVA等語言編寫,圖形化動(dòng)態(tài)演示將算法操縱的數(shù)據(jù)結(jié)構(gòu)模型用圖形的形式表達(dá)出來,控制部分是交互的接口,可自定義演示輸入,修改演示播放方式和效果等。

理論上數(shù)據(jù)結(jié)構(gòu)模型的每一步變化都對應(yīng)著算法的若干語句,其中并將其變化用圖形動(dòng)態(tài)變化的方法形象直觀地展現(xiàn)出來;算法動(dòng)態(tài)跟蹤要將圖形化動(dòng)態(tài)演示與對應(yīng)的算法執(zhí)行的語句同步顯示;這三個(gè)部分的相互關(guān)系如圖1所示。

需要說明的是,演示軟件的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)技術(shù)屬于軟件技術(shù)領(lǐng)域的內(nèi)容,不在本文的討論范圍內(nèi)。

4 算法演示的具體運(yùn)用

算法演示是能夠?qū)ⅰ皵?shù)據(jù)結(jié)構(gòu)”課程的抽象理論轉(zhuǎn)化為具體視覺感官的有力手段,通過將算法語句與具體的數(shù)據(jù)結(jié)構(gòu)模型對應(yīng)顯示來達(dá)到理論與實(shí)踐結(jié)合輔助“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)的目的。而“教學(xué)”包含了教師教和學(xué)生學(xué)兩個(gè)方面,算法演示既適合于教師授課時(shí)使用,又適合于學(xué)生學(xué)習(xí)時(shí)使用。下面就從教師和學(xué)生兩個(gè)方面談?wù)勊惴ㄑ菔镜倪\(yùn)用。

4.1 從教師方面來看

教師要正確合理地使用算法演示。首先,同物理化學(xué)等課程入門時(shí)做實(shí)驗(yàn)一樣,教師可將算法演示作為實(shí)驗(yàn)內(nèi)容親自示范操作并講解。這種入門性的實(shí)驗(yàn)內(nèi)容能夠激發(fā)學(xué)生的求知欲和學(xué)習(xí)積極性。其次,教師應(yīng)將理論講解與實(shí)驗(yàn)演示充分結(jié)合。理論是課程教學(xué)大綱要求的內(nèi)容,算法演示只是一種輔助教學(xué)的手段,不能用算法演示代替理論講解,而應(yīng)該在講解完理論之后進(jìn)行算法演示,在演示的同時(shí)還要貫穿理論內(nèi)容,體現(xiàn)出演示為理論講解服務(wù)的宗旨。再次,教師應(yīng)當(dāng)在演示過程中充分地調(diào)動(dòng)學(xué)生的積極性,恰當(dāng)?shù)亟M織學(xué)生討論,鼓勵(lì)學(xué)生提出問題,指導(dǎo)學(xué)生解決問題,通過這樣的方式逐漸提高學(xué)生分析問題和解決問題的能力。在這一過程中還要注意師生交流。最后,教師應(yīng)該留給學(xué)生適當(dāng)?shù)淖灾骺臻g讓學(xué)生在課后自己發(fā)揮,可以布置一些算法作業(yè)讓學(xué)生去實(shí)現(xiàn),或讓學(xué)生自行操作實(shí)驗(yàn),也可以讓學(xué)生嘗試實(shí)現(xiàn)算法演示的軟件部分,這樣有助于提高學(xué)生的動(dòng)手能力。

4.2 從學(xué)生方面看

學(xué)生一直以來是教學(xué)活動(dòng)中的被動(dòng)方,在實(shí)際的教學(xué)中往往是教師教而學(xué)生不學(xué)。當(dāng)前的教學(xué)改革必須從根本上改變學(xué)生被動(dòng)接受知識的局面。算法演示具有調(diào)動(dòng)學(xué)生積極性的功能,學(xué)生應(yīng)該主動(dòng)地利用算法演示來提高學(xué)習(xí)效率。第一,學(xué)生應(yīng)利用課余時(shí)間自己動(dòng)手算法演示實(shí)驗(yàn),這樣不但能幫助學(xué)習(xí)和理解理論知識,還有利于培養(yǎng)學(xué)生思維能力,提高學(xué)生自學(xué)能力。第二,學(xué)生應(yīng)在理解理論知識的基礎(chǔ)上多加思考,挖掘和學(xué)習(xí)深層知識,同時(shí)試著去尋找和發(fā)現(xiàn)算法演示存在的缺點(diǎn)和不足,通過自己的思考去發(fā)現(xiàn)問題,變被動(dòng)學(xué)習(xí)為主動(dòng)發(fā)問。第三,如果發(fā)現(xiàn)了理論知識或算法演示實(shí)驗(yàn)的缺陷和不足,學(xué)生應(yīng)積極與教師交流,尋求解決問題的方法。對于算法演示實(shí)驗(yàn)的問題,學(xué)生應(yīng)盡自己可能地去完善和改進(jìn)算法演示,例如可以增加更多演示的算法,或用更為生動(dòng)形象的方法演示等等。第四,學(xué)生應(yīng)積極主動(dòng)自己動(dòng)手做實(shí)驗(yàn),無論是重復(fù)現(xiàn)有的實(shí)驗(yàn)還是探尋新的實(shí)驗(yàn)內(nèi)容,動(dòng)手實(shí)踐對學(xué)生是大有裨益的,能加深學(xué)生的理論學(xué)習(xí)和理解,擴(kuò)大知識面,培養(yǎng)文獻(xiàn)檢索和動(dòng)手能力。此外還應(yīng)該從算法演示實(shí)驗(yàn)出發(fā),學(xué)著將實(shí)驗(yàn)融入到其他課程的教學(xué)當(dāng)中。第五,學(xué)生應(yīng)常常同教師交流和溝通,敢于表達(dá)自己的看法和意見,共同促進(jìn)課程教學(xué)效率的提高。

例如,當(dāng)教師講解棧結(jié)構(gòu)和遞歸時(shí),演示算法是漢諾塔問題。演示界面上顯示有漢諾塔問題的遞歸算法。無須手動(dòng)抄寫算法,教師可仔細(xì)分析已經(jīng)顯示的算法,闡明遞歸理論,說明遞歸算法的基本項(xiàng)與誘導(dǎo)項(xiàng),闡述遞歸算法與棧調(diào)用的聯(lián)系等,這是理論講解的部分。接下來,教師要交待漢諾塔問題和解決漢諾塔問題的遞歸算法的思想,要注意驗(yàn)證遞歸理論。然后是算法演示,教師必須親自操作,仔細(xì)講解遞歸算法的自身調(diào)用、棧結(jié)構(gòu)的特點(diǎn)與壓棧和出棧的理論。在此過程中需要反復(fù)進(jìn)行演示,可以更改演示的初始輸入。然后可由學(xué)生自行操作以調(diào)動(dòng)學(xué)生的積極性和思維能力,并安排討論內(nèi)容,鼓勵(lì)學(xué)生思考發(fā)現(xiàn)問題。課后教師可布置學(xué)生編寫其他的遞歸算法來加深學(xué)生知識的理解和掌握并訓(xùn)練學(xué)生編寫算法程序的能力。學(xué)生要積極主動(dòng)學(xué)習(xí),積極同教師交流,不斷地提高自己的專業(yè)能力。

5 總結(jié)

為了適應(yīng)當(dāng)前教學(xué)改革的需要,“數(shù)據(jù)結(jié)構(gòu)”課程的教學(xué)應(yīng)該從傳統(tǒng)的單一理論講解向多方式多手段講解轉(zhuǎn)變。通過本文的討論和分析,我們認(rèn)為應(yīng)將算法演示盡量融入課程教學(xué)中,以改善目前課程教學(xué)狀況。此外由于“數(shù)據(jù)結(jié)構(gòu)”課程的重要性,該課程的教學(xué)必須不斷探索創(chuàng)新,我們也將堅(jiān)持不懈地進(jìn)行該課程的教學(xué)和改革創(chuàng)新。

[1]朱燕紅.可視化軟件在數(shù)據(jù)結(jié)構(gòu)教學(xué)中的應(yīng)用[J].遠(yuǎn)程教育雜志,2006,(5).

[2]李冬梅,劉平.淺談《數(shù)據(jù)結(jié)構(gòu)》教學(xué)實(shí)踐與體會(huì) [J].福建電腦,2007,(8).

[3]銀麗萍,黃同成.《數(shù)據(jù)結(jié)構(gòu)》算法的可視化教學(xué)研究與實(shí)踐[J].邵陽學(xué)院學(xué)報(bào):社會(huì)科學(xué)版,2008,(Z1).

[4]周澤輝.淺談高職學(xué)院數(shù)據(jù)結(jié)構(gòu)課程的“算法驅(qū)動(dòng)”教學(xué)[J].科教文匯,2009,(8).

TP311.12

A

1674-6341(2010)01-0109-02

2009-12-01

趙靜 (1981-),女,甘肅蘭州人,助教,從事計(jì)算機(jī)應(yīng)用及計(jì)算機(jī)軟件研究。

責(zé)任編輯:柴造坡

猜你喜歡
數(shù)據(jù)結(jié)構(gòu)理論內(nèi)容
內(nèi)容回顧溫故知新
堅(jiān)持理論創(chuàng)新
神秘的混沌理論
理論創(chuàng)新 引領(lǐng)百年
相關(guān)于撓理論的Baer模
主要內(nèi)容
臺(tái)聲(2016年2期)2016-09-16 01:06:53
“翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
高職高專數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
中國市場(2016年45期)2016-05-17 05:15:48
TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法創(chuàng)新探討
河南科技(2014年5期)2014-02-27 14:08:57
乌恰县| 乌海市| 清丰县| 义马市| 灵璧县| 连山| 琼结县| 齐齐哈尔市| 鸡泽县| 汝城县| 武山县| 崇州市| 霞浦县| 彭山县| 化隆| 铁力市| 南华县| 和政县| 五原县| 永嘉县| 扬州市| 红河县| 小金县| 汶川县| 龙岩市| 韶山市| 湘潭市| 高邑县| 揭东县| 连云港市| 舒城县| 吉木乃县| 临朐县| 甘南县| 称多县| 慈溪市| 镇远县| 滕州市| 余庆县| 泾阳县| 奉节县|