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

        ?

        “數據結構”中基本教學案例的研究

        2010-01-01 00:00:00劉城霞
        計算機教育 2010年3期

        摘要:本文闡明了“數據結構”教學過程中應用案例的重要性,并對示例案例進行詳細的分析、設計;描述了如何進行案例教學的全過程;最后將案例研究應用于實際教學中,結合實驗教學展示了通過數據結構案例進行教學的一個實例。

        關鍵詞:數據結構;教學案例;實驗教學

        近年來的教學實踐表明,除了課堂上講解的基本理論外,如何應用數據結構中學到的理論進行實踐正是學生迫切需要掌握的。為此,很多相關的學者、老師也進行了深入的探討和研究[1-2]。給學生更多自主學習時間,培養(yǎng)學生進行數據結構的算法設計及分析問題、解決問題的能力是教學的最終目標。目前部分學生的自主學習能力尚達不到相應的水平,尤其是擴大招生后,這一問題尤為突出。教學改革勢在必行,我們將實例納入教學范疇,研究如何圍繞基本數據結構概念增加一些新的、應用型的且是必要的實例知識,并且附以部分算法設計內容,這樣不僅能夠彌補“數據結構”課程教學中缺乏實踐所帶來的問題,同時還可以拓寬學生的知識面,增強學生學以致用的實踐能力。

        1案例分析

        針對“數據結構”課程教學中的各個章節(jié),我們根據案例針對的基本數據結構不同分成了不同的基本案例,教學中使用基本案例的作用是加深學生對基本數據結構的理解和數據結構使用方法的認識。

        以鏈表[3]為例,鏈表是“數據結構”課程中學習的一個基本數據結構,這種結構簡單而且適用范圍廣,但要想學會、學好卻是一項艱巨的任務,學生往往在學習過程中會感覺明白了理論,但不會應用實踐。針對這個問題,我們提出了通過鏈表應用案例進行教學,采用的案例即為超長大整數的運算。

        1.1大整數存儲結構分析

        此例中的長整數不是LONG型數據,而是遠遠多于計算機可用基本數據類型存儲的超長的整數運算。一般情況下為了能在計算機中進行運算,必須將這個長整數進行拆分,拆分成符合計算機存儲規(guī)則的數。為了遵守整數的四則運算規(guī)則,拆分后的數據又必須統(tǒng)一進行運算,于是就想到能否將拆分的數據通過一定的方式連接起來,自定義一些運算,以已知的四則運算為基礎,可以對長整數進行運算。鏈表恰恰就是可以將若干數據連接到一起的一種數據結構,于是我們就想到了使用鏈表來完成這個功能。又因為數據在輸入的時候習慣是從高位向低位逐位輸入,而運算的過程中是從低位向高位進行逐位運算,輸出又反過來,從高位向低位逐位輸出。鑒于此可以考慮使用雙向鏈表來實現數據的存儲結構。

        1.2大整數的運算分析

        按照習慣性的數據輸入方法和計算機中實際整型數據的存儲容量,可以采用四位一組進行數據存儲。大整數加減法只要逐位進行加減,當有進位或者借位的時候在高一結點位上加入進位或者借位一起運算即可。大整數的乘法和除法[4-5]較為復雜,要涉及分治算法等更深入的內容,在數據結構案例教學中不進行介紹,有興趣的讀者可以參考文獻[4]、[5]。

        2案例設計

        2.1存儲結構設計

        線性表的鏈式存儲結構的特點是用一組任意的存儲單元存儲線性表的數據元素。因此,為了表示每個數據元素ai與其直接后繼數據元素ai+1之間的邏輯關系,對數據元素ai來說,除了存儲其本身的信息之外,還需存儲一個指示其直接后繼的信息(即直接后繼的存儲位置)。這兩部分信息組成數據元素ai的存儲映像,稱為結點(node)。n個結點(ai(1<=i<=n)的存儲映像)鏈結成一個鏈表,即為線性表(a1,a2,…,an)的鏈式存儲結構。若再增加一個指針域,另其指向直接前趨,則構成雙向鏈表,線性表的雙向鏈表存儲結構描述如下:

        Typedef struct DuLNode{

        ElemTypedata;//數據

        Struct DuLNode*prior;//指向前趨的指針

        Struct DuLNode*next;//指向后繼的指針

        }DuLNode,*DuLinkList;

        而這個雙向鏈表也就是案例中要使用的存儲結構[6],使用雙向鏈表有利于超長整數加減法運算的順利進行。

        2.2操作設計

        大整數要從鍵盤進行輸入,所以需要雙向鏈表的插入操作;當減法運算完成后,可能結果會小于任何一個大整數的長度,此時在輸出結果前可能會用到結點的刪除運算。具體過程參見參考文獻[1],不再贅述。

        2.3運算過程設計

        大整數的輸入時結點大小可以任意,具體可以由實際情況來定,這里采用四位數據形成鏈表中的一個結點。輸入數據并且判斷運算類型后進行具體的加法或者是減法的運算,圖1和圖2是加法和減法的運算流程,在教學中教師可以選取其中一個進行詳細講解,另一個留待學生自己學習完成。

        3案例教學實例

        教學中學生學習了線性表基本邏輯結構和鏈式存儲結構后相關理論后,可以根據情況適當地進行實踐,加深學生對鏈表的理解,提高其掌握鏈表結構進行程序設計的能力。在引導學生進行程序設計的時候,可以在教學中使用案例演示系統(tǒng)進行輔助教學。首先讓學生對案例的運行情況進行直觀的動畫式了解,然后對執(zhí)行過程中對應的是什么程序代碼要有清楚的認識,最后對運行存儲器中變量值的變化情況能夠理解并掌握。比如要講解大整數運算這個案例,通過教學演示系統(tǒng)首先演示數據的輸入存儲過程,如圖3所示。

        界面會將輸入數據構建雙向鏈表的過程展示出來,并且右側的代碼區(qū)會以紅色代碼的形式展示對應界面上正在執(zhí)行代碼的情況,右下側的變量區(qū)展示當前變量的變化情況。這個界面類似于調試程序界面,不過比調試過程更直觀,更容易理解和操作。

        輸入完成后,進行運算過程的演示,逐結點逐位進行加法或者減法操作,進位或者借位單獨處理后進入運算的過程,以期得到完整的結果,如圖4所示。

        通過案例的演示,學生會對運算過程有了直觀的了解,結合在課堂上學習的理論知識,學生就能夠對大整數運算有一個總體的認識,并且知道用什么數據結構,用什么樣的算法程序去實現這個運算過程。教學演示中還有許多其他的界面,這里不一一列舉了。教學過程中除了演示部分外還會著重介紹算法的設計思路、實現原理以及實現過程,真正讓學生學懂、學會,并能夠自覺地去應用學習的結果。

        4總結與展望

        數據結構的使用和算法思想的理解是課程的重點,將抽象的算法執(zhí)行過程以淺顯易懂的方式講解并 在課堂上展現出來,配合以學生的親身實踐,將起到事半功倍的學習效果。以教學案例作為一種輔助教學,用形象生動的動畫效果和類似于程序單步執(zhí)行的過程,操作簡單、形象生動,改善了學生對“數據結構”課程的學習理解和掌握,有助于深刻理解相應的算法,有利于培養(yǎng)知識結構,激發(fā)學習興趣,從很大程度上提高學生的學習質量和效率。今后的教學研究中,除了進行案例教學外,我們更應該考慮和企業(yè)應用問題掛鉤,將實際項目引入到課堂教學中,增加知識的實用性。

        注:本文受2007年度北京信息科技大學校級精品課程資助。

        參考文獻:

        [1] 楊桂芝. “數據結構”教學方法探索與實踐[J]. 計算機教育,2007(6):7-9.

        [2] 王江濤.《數據結構》教學研究和體會[J]. 科技信息:學術版,2006(03):134.

        [3] 嚴蔚敏,吳偉民. 數據結構(C語言版)[M]. 北京:清華大學出版社,2004:27-38.

        [4] 高峰,王玉柱,桑林瓊,等. 大整數乘除運算在PC機上的實現[J]. 后勤工程學院學報,2007(01):57-59.

        [5] 英昌盛,周喜龍. 大整數乘法的數據結構及算法選擇探究[J]. 長春工業(yè)大學學報:自然科學版,2008,29(2):205-207.

        [6] 李建學,李光元,吳春芳. 數據結構課程設計案例精編[M]. 北京:清華大學出版社,2007:161-166.

        Study of Teaching Instance in “Data Structure”

        LIU Cheng-xia, DONG Wan, CAI Ying

        (Computer School, Beijing Information Technology University, Beijing 100101, China)

        Abstract: The importance of teaching instance used in the teaching process of Data Structure is explained in this paper. Detailed analysis and design of one instance are provided. At the end of the paper, a specific demo showing how to use the instance in actual class is brought forth combined with the experimental teaching.

        Key words: Data Structure;teaching instance;experiment teaching

        (編輯:姚彥如)

        亚洲久悠悠色悠在线播放| 无码人妻精品一区二区三18禁 | 国产性生交xxxxx无码| 亚洲精品成人网久久久久久| 在线视频一区二区日韩国产| 国产女主播视频一区二区三区| 99精品国产一区二区三区| 亚欧免费无码aⅴ在线观看| 免费一级特黄欧美大片久久网| 久久精品国产6699国产精| 黄色大片国产精品久久| 日韩中文字幕一区二区二区| 婷婷久久香蕉五月综合加勒比 | 日韩AV无码一区二区三不卡| 美女狂喷白浆网站视频在线观看| 亚洲中文字幕久久精品色老板| 高清午夜福利电影在线| 老少配老妇老熟女中文普通话| 国产剧情av麻豆香蕉精品| 综合久久久久6亚洲综合| 极品粉嫩嫩模大尺度视频在线播放| 三年片免费观看影视大全视频| 精品人妻潮喷久久久又裸又黄| 国产码欧美日韩高清综合一区| 久久偷拍国内亚洲青青草| 久久精品第九区免费观看| 中字幕人妻一区二区三区| 日本午夜精品理论片A级APP发布| 国产精品nv在线观看| 日本一区中文字幕在线播放| 国产精品久久久福利| 天堂一区人妻无码| 国产婷婷丁香五月麻豆| 一区二区特别黄色大片| 国产精品久久av色婷婷网站| 久久99国产精品久久99果冻传媒 | 亚洲精品成人区在线观看| 99riav精品国产| 久久国产女同一区二区| 日本不卡在线视频二区三区| 四虎影视4hu4虎成人|