亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        注重“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)中的承前啟后

        2008-12-31 00:00:00周克蘭張玉華
        計(jì)算機(jī)教育 2008年21期

        摘要:本文說(shuō)明了數(shù)據(jù)結(jié)構(gòu)教學(xué)中如何注重承前啟后,文中以單鏈表插入算法教學(xué)為實(shí)例具體說(shuō)明了在教學(xué)中同一章的內(nèi)容之間如何注重承前啟后,同時(shí)說(shuō)明了在講授單鏈表、有序表的歸并、查找等內(nèi)容時(shí),如何注重各章內(nèi)容之間的承前啟后。

        關(guān)鍵詞:?jiǎn)捂湵?;插入;承前啟?/p>

        中圖分類號(hào):G642

        文獻(xiàn)標(biāo)識(shí)碼:B

        1引言

        “數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的一門(mén)核心專業(yè)基礎(chǔ)課,是我校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的學(xué)位課程以及報(bào)考該專業(yè)研究生必考課程,因此學(xué)生對(duì)“數(shù)據(jù)結(jié)構(gòu)”這門(mén)課普遍比較重視。但由于“數(shù)據(jù)結(jié)構(gòu)”課程的特點(diǎn)是概念多、綜合性強(qiáng)、技巧性強(qiáng),往往學(xué)生感到花了不少時(shí)間和精力,學(xué)習(xí)效果不象有些課程那么明顯,特別是感到理解書(shū)上的內(nèi)容并不難,課上也都聽(tīng)得懂,可是一做算法設(shè)計(jì)題就無(wú)從下手,寫(xiě)出的算法結(jié)構(gòu)不清晰、效率低下,根據(jù)課程內(nèi)容編寫(xiě)上機(jī)題更是困難重重。部分同學(xué)進(jìn)而感到“數(shù)據(jù)結(jié)構(gòu)”難學(xué),甚至少數(shù)同學(xué)對(duì)學(xué)好該課程喪失信心。究其原因,主要是學(xué)生對(duì)所學(xué)知識(shí)的掌握是片面的、支離破碎的,沒(méi)有能將所學(xué)知識(shí)融會(huì)貫通,靈活應(yīng)用。

        筆者在多年的“數(shù)據(jù)結(jié)構(gòu)”教學(xué)中不斷探索、吸取和總結(jié)教學(xué)理論和教學(xué)經(jīng)驗(yàn),在教學(xué)過(guò)程中注意承前啟后,善于總結(jié),把課程中各章之間的內(nèi)容、每章各小節(jié)之間的內(nèi)容串起來(lái),從而利于學(xué)生的理解和掌握,取得了良好的教學(xué)效果。

        2教學(xué)中注重同一章的內(nèi)容之間承前啟后

        在進(jìn)行每一章教學(xué)時(shí),注重內(nèi)容的前后聯(lián)系,承前啟后。在學(xué)習(xí)一個(gè)新的知識(shí)點(diǎn)時(shí),盡量由學(xué)生已經(jīng)熟悉的內(nèi)容引入,過(guò)渡到新的知識(shí)點(diǎn)。就像一個(gè)人挑擔(dān)子一樣,一下子挑很重的擔(dān)子是不行的,每天增加一點(diǎn),天長(zhǎng)日久,可挑的擔(dān)子就會(huì)越來(lái)越重而不會(huì)感到吃力。同樣在教學(xué)中也應(yīng)該是讓學(xué)生總是在已學(xué)知識(shí)的基礎(chǔ)上認(rèn)識(shí)學(xué)習(xí)新知識(shí),這樣學(xué)生學(xué)習(xí)就不會(huì)感到吃力,同時(shí)通過(guò)已學(xué)知識(shí)引入新知識(shí),更加深了學(xué)生對(duì)前面知識(shí)的理解,使原來(lái)可能模糊的概念變得清晰。在學(xué)完每個(gè)新的知識(shí)點(diǎn)后,盡量介紹一下它和后面的聯(lián)系,以后那些地方我們會(huì)用到它,這樣,學(xué)生覺(jué)得這些內(nèi)容以后需要用,就學(xué)得格外認(rèn)真,同時(shí)也對(duì)將來(lái)要學(xué)的內(nèi)容作了預(yù)習(xí)。

        下面以單鏈表中插入算法的教學(xué)為例,談?wù)劰P者的具體做法。

        2.1單鏈表的存儲(chǔ)結(jié)構(gòu)

        typedefstructLnode {

        ElemTypedata;

        Struct Lnode*next;

        }Lnode,*Linklist;

        2.2在單鏈表中插入一個(gè)結(jié)點(diǎn)

        在單鏈表中某結(jié)點(diǎn)p后面插入結(jié)點(diǎn)s,如圖1所示。

        插入算法為:

        new(s); s->data=x;

        s->next=p->next; p->next=s;

        一般教材往往只介紹向單鏈表中插入一個(gè)結(jié)點(diǎn)的算法,學(xué)生一般都能把插入算法搞得很清楚,但是他們不能把所學(xué)的內(nèi)容前后聯(lián)系起來(lái),做習(xí)題時(shí)不善于用已學(xué)的知識(shí)來(lái)解決問(wèn)題。產(chǎn)生這種問(wèn)題的原因是學(xué)生沒(méi)吃透書(shū)中的內(nèi)容。在教學(xué)時(shí)為了拓寬學(xué)生的思路,筆者接下來(lái)介紹在單鏈表的頭結(jié)點(diǎn)后面插入一個(gè)結(jié)點(diǎn)s,如果從一個(gè)空鏈表開(kāi)始反復(fù)地在頭結(jié)點(diǎn)后向單鏈表中插入結(jié)點(diǎn),就用前插法建立了一個(gè)鏈表;筆者還介紹了在單鏈表的尾上插入一個(gè)結(jié)點(diǎn)s,如果從只有一個(gè)頭結(jié)點(diǎn)的空鏈表開(kāi)始,反復(fù)地向單鏈表的表尾插入結(jié)點(diǎn),也就用尾插法建立了一個(gè)鏈表;在后面講解建立單鏈表的兩種方法前插法和尾插法時(shí)就很自然地由已學(xué)的知識(shí)過(guò)渡到新的知識(shí)點(diǎn)。

        2.3建立單鏈表

        建立單鏈表有前插法和尾插法兩種方法。

        對(duì)于前插法,先建立一個(gè)帶頭結(jié)點(diǎn)的空鏈表,然后依次反復(fù)生成新結(jié)點(diǎn)并插入到頭結(jié)點(diǎn)后,如圖2所示。

        前插法的算法為:

        Void Create_List_Front(Linklist head,int n){

        //前插法建立單鏈表

        new ( head);p=head;

        head->next=NULL;

        For (i=n; i>0;--i){

        new(s);

        s->data=x;// 生成新結(jié)點(diǎn)

        s->next=p->next; p->next=s; // 插入到表頭

        }

        }// Create_List_Front

        對(duì)于尾插法,首先生成一個(gè)頭結(jié)點(diǎn),然后依次反復(fù)生成新結(jié)點(diǎn)并插入到表尾,最后把表尾的指針域置空,如圖3所示。

        后插法的算法為:

        void Create_List_Back(Linklist head,int n){

        //尾插法建立單鏈表

        new ( head); p=head;

        For (i=0; i

        new(s);

        s->data=x;// 生成新結(jié)點(diǎn)

        p->next=s;// 插入到表尾

        p=s;// 修改尾指針

        }

        p->next=NULL;

        }// Create_List_Back

        由單鏈表的建立引申出單鏈表的逆置,單鏈表的逆置方法就是利用單鏈表的建立的前插法,只不過(guò)表中的結(jié)點(diǎn)已經(jīng)存在無(wú)需再生成,引導(dǎo)學(xué)生由已知的知識(shí)過(guò)渡到新的知識(shí),把所學(xué)知識(shí)學(xué)通、學(xué)活,題目就會(huì)做。

        2.4單鏈表的逆置

        void inverse(linklist head) //單鏈表的逆置算法

        { p=head->next;//指針p指向單鏈表的第一個(gè)結(jié)點(diǎn),

        head->next=1;//先置表為帶頭結(jié)點(diǎn)head的空表

        while p do

        { s=p; // 指針s指向待插入的結(jié)點(diǎn)

        p=p->next;//指針p后移

        s->next=head->next;

        head->next=s;//把s所指的結(jié)點(diǎn)插入到head后

        }

        }

        以上幾點(diǎn)掌握后,引導(dǎo)學(xué)生在做習(xí)題時(shí)盡量利用已學(xué)的內(nèi)容來(lái)解決問(wèn)題,一些單鏈表的經(jīng)典習(xí)題就很容易解了。例如,在學(xué)了單鏈表的逆置算法和兩個(gè)單鏈表的歸并算法后,可以解決這樣一個(gè)習(xí)題:把兩個(gè)遞增有序表歸并為一個(gè)遞減有序表,要求利用原表結(jié)點(diǎn)的空間構(gòu)造新表。這個(gè)習(xí)題的難度系數(shù)為4,同學(xué)初看這個(gè)題目感到無(wú)從下手,仔細(xì)分析一下就會(huì)發(fā)現(xiàn)只需將前面所學(xué)內(nèi)容綜合起來(lái)就可以了。

        通過(guò)講解單鏈表的插入算法,引申出單鏈表的建立、逆置、兩個(gè)單鏈表的歸并等問(wèn)題,從而使學(xué)生對(duì)在單鏈表中插入結(jié)點(diǎn)這個(gè)知識(shí)點(diǎn)能夠融會(huì)貫通,從而解決與插入結(jié)點(diǎn)算法有關(guān)的一類問(wèn)題。

        在講解了單鏈表中結(jié)點(diǎn)的插入和刪除后,進(jìn)一步啟發(fā)學(xué)生,如果插入和刪除都在鏈表頭結(jié)點(diǎn)處,也就是下一章要學(xué)習(xí)的鏈?zhǔn)綏5娜霔:统鰲A?。如果插入結(jié)點(diǎn)總是在鏈表的尾結(jié)點(diǎn)處,刪除結(jié)點(diǎn)總在鏈表頭結(jié)點(diǎn)處,也就是下一章要學(xué)習(xí)的鏈?zhǔn)疥?duì)列的入隊(duì)和出隊(duì)。把在單鏈表中插入和刪除結(jié)點(diǎn)的知識(shí)和鏈?zhǔn)綏<版準(zhǔn)疥?duì)列相聯(lián)系,對(duì)后一章棧和隊(duì)列的內(nèi)容進(jìn)行了預(yù)習(xí)。在后面講到棧和隊(duì)列時(shí)學(xué)生很自然會(huì)將前面學(xué)習(xí)的知識(shí)應(yīng)用到新知識(shí)中。

        3教學(xué)中注重各章內(nèi)容之間的承前啟后

        “數(shù)據(jù)結(jié)構(gòu)”的內(nèi)容,粗看看就是介紹幾種典型的數(shù)據(jù)結(jié)構(gòu),學(xué)生往往很難把各章之間的內(nèi)在聯(lián)系吃透。在教學(xué)中如果注重內(nèi)容的前后聯(lián)系,把各章前后內(nèi)容盡量聯(lián)系起來(lái),學(xué)生對(duì)“數(shù)據(jù)結(jié)構(gòu)”內(nèi)容的理解就會(huì)全面、深刻。

        例如,以單鏈表為主線將各個(gè)知識(shí)點(diǎn)串起來(lái),單鏈表應(yīng)該是全書(shū)的重點(diǎn),在許多地方都用到。從不帶頭結(jié)點(diǎn)的單鏈表、帶頭結(jié)點(diǎn)的單鏈表,到單向循環(huán)鏈表、雙向循環(huán)鏈表,以及棧和隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),其中的變化都是漸漸的。而數(shù)組的十字鏈表、樹(shù)的孩子鏈表、圖的鄰接表、有向圖的十字鏈表、無(wú)向圖的鄰接多重表、哈希表處理沖突的鏈地址法都是多個(gè)單鏈表的應(yīng)用。在講解前面單鏈表的內(nèi)容時(shí)注意簡(jiǎn)要介紹后面的內(nèi)容,使學(xué)生感到這部分內(nèi)容是很重要的,后面都要用的,學(xué)生就會(huì)很重視,同時(shí)讓學(xué)生在學(xué)習(xí)前面內(nèi)容時(shí)先初步了解后面的內(nèi)容,在后面學(xué)到有關(guān)知識(shí)時(shí)發(fā)現(xiàn)只是在已學(xué)的知識(shí)基礎(chǔ)上再加一點(diǎn),學(xué)生就不會(huì)感到很難。而在學(xué)習(xí)數(shù)組的十字鏈表、樹(shù)的孩子鏈表、圖的鄰接表表示法、有向圖的十字鏈表、無(wú)向圖的鄰接多重表、哈希表處理沖突的鏈地址法時(shí),不時(shí)地用前面熟悉的結(jié)構(gòu)來(lái)類比,指出其異同點(diǎn),從而把看起來(lái)聯(lián)系不緊密的內(nèi)容串起來(lái),形成一個(gè)完整的概念,這樣學(xué)生對(duì)基本內(nèi)容的內(nèi)在聯(lián)系就能深刻理解。

        又如,兩個(gè)有序表的歸并,從兩個(gè)有序線性表的歸并的算法思想開(kāi)始,教材中許多問(wèn)題都可以用兩個(gè)有序表的歸并的算法思想來(lái)解決。比如,兩個(gè)順序有序表的歸并、兩個(gè)有序單鏈表的歸并,集合的交和并運(yùn)算、多項(xiàng)式的加與減、壓縮矩陣的三元組表示的矩陣加和減運(yùn)算、歸并排序等。在講解這一系列問(wèn)題時(shí)注重前后聯(lián)系、預(yù)習(xí)和總結(jié),取得良好的教學(xué)效果。

        再如,講解查找這一章內(nèi)容的過(guò)程,事實(shí)上是對(duì)前面幾章的總復(fù)習(xí),例如從順序查找復(fù)習(xí)線性表,包括兩種存儲(chǔ)結(jié)構(gòu)、線性表的基本操作、時(shí)間復(fù)雜度等內(nèi)容;從折半查找復(fù)習(xí)遞歸算法、二叉樹(shù);從哈希查找的學(xué)習(xí)加深多個(gè)單鏈表的應(yīng)用。查找既是一種操作又是一種數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)的組織采用不同的數(shù)據(jù)結(jié)構(gòu),可以用不同的查找方法進(jìn)行查找。通過(guò)這樣方式的講解,學(xué)生就明白查找這個(gè)數(shù)據(jù)結(jié)構(gòu)為什么是最后講的一個(gè)數(shù)據(jù)結(jié)構(gòu),一方面它綜合了前幾章的內(nèi)容,另一方面,它又是對(duì)前幾章的總結(jié)與提高,至此學(xué)生對(duì)全書(shū)的內(nèi)容有了比較全面、深刻的理解,一些原來(lái)有些模糊的概念變得清晰。

        4結(jié)束語(yǔ)

        筆者通過(guò)在“數(shù)據(jù)結(jié)構(gòu)”課程的教學(xué)過(guò)程中注意承前啟后,不斷總結(jié),把課程中各章內(nèi)容、每章節(jié)之間的內(nèi)容串起來(lái),教會(huì)學(xué)生的不僅是課程的具體內(nèi)容,更是讓學(xué)生學(xué)會(huì)一種學(xué)習(xí)和思考的方法,善于利用自己已經(jīng)掌握的知識(shí)來(lái)解決新問(wèn)題,學(xué)生學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)”不再覺(jué)得難。同樣在學(xué)習(xí)其他課程時(shí)也可以借鑒此方法。

        參考文獻(xiàn):

        [1] 嚴(yán)蔚敏, 吳偉民. 數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)[M]. 北京:清華大學(xué)出版社,2001.

        [2] 嚴(yán)蔚敏, 吳偉民. 數(shù)據(jù)結(jié)構(gòu)題集[M]. 北京:清華大學(xué)出版社,2001.

        [3] 唐策善, 李龍澍, 黃劉生. 數(shù)據(jù)結(jié)構(gòu)—用C語(yǔ)言描述[M]. 北京:高等教育出版社,1995.

        [4] 揭安全, 李云清, 楊慶紅等. “數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)改革與創(chuàng)新[J]. 計(jì)算機(jī)教育,2008,(10):132-133.

        国产一级黄色av影片| 无码人妻精品一区二区三区不卡| 最新亚洲人成无码网www电影| 精品久久久久久电影院| 亚洲蜜臀av一区二区三区漫画 | 亚洲欧美日韩人成在线播放| 亚洲Va中文字幕久久无码一区| 日美韩精品一区二区三区| 日本免费大片一区二区| 50岁退休熟女露脸高潮| 久久精品re| 亚洲区一区二区三区四| 亚洲最大水蜜桃在线观看| 国产亚洲精品久久久ai换| 在线a亚洲视频播放在线观看| 麻豆av在线免费观看精品| 91中文人妻熟女乱又乱| 性一交一乱一透一a级| 麻豆国产乱人伦精品一区二区| 亚洲精品中文字幕熟女| 99精品视频69v精品视频| 国产zzjjzzjj视频全免费| 国产精品无码不卡在线播放| 国产91会所女技师在线观看| 少妇人妻精品一区二区三区| 91久久精品国产91久久| 国产一区二区av男人| 多毛小伙内射老太婆| 痴汉电车中文字幕在线| 国产好大好硬好爽免费不卡| 91精品国产丝袜在线拍| 国产高清不卡在线视频| 伊人久久大香线蕉午夜av | 9191在线亚洲精品| 中文字幕人妻一区色偷久久| 亚洲 欧美 偷自乱 图片| 亚洲欧洲无码一区二区三区 | 少妇高潮惨叫喷水在线观看| 人妻少妇精品视频一区二区三区| 在线观看国产成人av天堂野外| 国产麻豆精品久久一二三|