999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

應用生活實例提高高職數據結構教學質量

2013-12-31 00:00:00姜繼勤
西江月·中旬 2013年10期

【摘 要】本文針對高職數據結構課程教學的現狀和存在的問題,從數據結構中數據類型的特點入手,設計了在數據結構課程教學中應用的生活實例,對線性表、棧、隊列、數組等數據類型的實例進行分析講解,將抽象復雜的理論知識變得形象簡單,總結出一種激發學生學習興趣、行之有效的提高教學質量的方法。

【關鍵詞】高職;數據結構;生活實例;教學質量

重慶城市管理職業學院于2012年開始啟動中央財政支持專業發展項目軟件技術項目,數據結構作為軟件技術專業的主干課程,進行了課程建設改革。本文針對“數據結構”課程教學的現狀和存在的問題進行分析,并結合多年的教學經驗,對“數據結構”課程的教學方法改革進行了探索。

一、高職“數據結構”課程教學的現狀和存在的問題

1、高職“數據結構”課程的特點。“數據結構”是軟件技術專業的主干課程,該課程的主要目的是:使學生掌握如何將現實世界的客觀問題轉換成數據模型,然后選擇合適的方式存儲在計算機中,并對數據完成相關的操作。換言之,“數據結構”課程主要研究數據的邏輯結構,數據在計算機內的物理存儲結構,以及在此基礎上所進行的各種算法。概括起來就是“四種邏輯結構,兩種物理結構,多種算法”。但是由于課程涉及到的概念多、原理多、算法多,理論性、抽象性和綜合性較強,給學生的理解帶來極大困難。

2、學生學習基礎差,學習興趣不高。高職學生的生源結構比較復雜,有普高生、三校生還有單招生,學生的學習基礎參差不齊。總的情況來看是學習基礎薄弱,抽象思維能力較差,缺乏空間想象力。而“數據結構”是一門理論性較強的課程,其概念抽象且算法復雜,使很多學生難以理解,在做課后習題或上機實踐時往往無從下手,學習起來難度特別大,所以對學習“數據結構”也就興趣不高了。

3、學生的前導課程基礎不牢。按照教學要求,學生在學習數據結構之前,必須學習一門程序設計語言,對程序設計語言掌握的程度,將直接影響學生對數據結構算法的理解,從而影響學生的學習能力和學習信心。數據結構課程的教材多數選擇C語言描述算法,所以很多學校開設的前導課程通常是C語言程序設計,教學學時為64學時左右。通過多年的跟蹤調查,64學時的安排會導致C語言的一些重要內容根本沒有時間去講授(比如指針),學生對這部分內容完全是一片空白,給數據結構的教學帶來比較大的困難。除此之外,由于學生的基礎較差,沒有良好的自主學習習慣和學習方法,對C語言程序設計中已經講授的內容也掌握得不好,學生的問題抽象能力、程序閱讀能力、程序設計能力都還處于初級階段,也直接影響了數據結構的教學效果。

二、應用生活實例提高教學質量

針對數據結構理論知識過于抽象,學生難以理解這一問題,結合多年的教學經驗,我們發現在教學過程中應用生活實例進行講解,將會大大降低問題的抽象程度,使學生由抽象思維轉變為形象思維,不僅可以提高學生對抽象問題的理解能力,也大大激發了學生的學習興趣。解決生活中的數據結構問題,也使學生體會到數據結構的實用性,提高了學生的學習主動性。結合教學內容可以應用以下生活實例:

1、指針。如果在前導課程中沒有講授指針這部分內容,可以在數據結構課程的開始安排一次課補充指針的內容。以學生當前的座位為實例。將座位從左到右、從前到后依次編號(1~60號),學生們都是任意入座而不是按學號和座位號對號入座。如果要從學號為1號的同學開始找到學號為2號的同學,很顯然不能去找2號座位,為了方便查找,每位同學的手中應該要準備一張卡片,記錄后續學號的那位同學的座位號。這樣,從1號同學出發,我們能找到任何一位同學的座位,而這張卡片就相當于指針,記錄了后續同學的座位(地址),“指針就是地址,地址就是指針”就可以很形象地深入到學生的腦海中。

2、線性表插入和刪除時如何移動元素。插入:以某一列學生為例(此列每個座位都不空,最后的一位同學為H),假設在A同學之前要加入一位Z同學,我們必須先把座位給Z同學留出來,也就意味著A同學及其以后的同學都要后移。關鍵問題是:移動的順序是A——>B,B——>C……G——>H,還是反序G——>H,F——>G……B——>C,A——>B?如果選擇前者,將使A同學坐在B同學身上,如果是計算機中將導致B數據被A數據覆蓋(全班大笑),在笑聲中學生已經很輕松地理解并掌握了移動元素的方向問題(刪除也是同樣道理,不再贅述)。

3、棧。棧的操作原則是“后進先出”,在啟發學生思考生活中的棧實例時學生有一定困難,不容易想到實例。老師可以引導學生思考:電梯超載時誰出電梯?當然是后進者先出!

電梯:假設電梯的寬度剛好容一個人,則電梯就是嚴格的后進先出的棧的實例。

蒸籠:食堂里大師傅蒸饅頭的時候把蒸籠一格一格從下至上放上去(進棧),蒸熟以后是從上至下一格一格取下來(出棧),這也是后進先出棧的實例。

和學生的生活息息相關的實例,使學生對棧的操作原則一目了然。

4、隊列。隊列的操作原則是“先進先出”,數據結構中的隊列和生活中的隊列極為相似,排隊購票、食堂打飯、排隊就醫等都是學生比較容易理解的隊列實例。另外,等待交通信號燈的汽車隊列“先到先走”也符合隊列“先進先出”的原則,并且要對學生強調數據結構中隊列不允許“插隊”和“中途離隊”。

5、數組。介紹數組元素存儲地址的計算時涉及到多維數組,學生對于多維數組難以想象也難以理解,正好我們學校教學樓的布局適合這個內容,于是我就用教室作為實例進行講解。

我們學校的整個教學樓由5棟平行的小教學樓連接而成,分別命名為A棟、B棟、C棟、D棟、E棟;每棟小教學樓有6層樓,每層樓有2行4列共8間教室,教室的編號用樓號+樓層號+兩位教室號組成,如B607。在此例中把每間教室當成一個數組元素進行處理,以上課的教室如B607作為待計算地址的數組元素。每層樓教室布局如表1所示:

圖1 教室的布局

下面以行序為主序的存儲結構為例進行說明,假設每個數組元素占L個存儲單元,則只要知道任意數組元素的下標都可以確定其存儲地址。根據線性表的存儲規律,實際上求數組元素存儲地址的關鍵就是要計算出目標元素和數組首元素之間間隔了多少個數組元素。

二維數組:上課教室B607所在的一層樓,每間教室的下標為(行,列),我們用(j1,j2)表示,第一維(行數)長度b1=2,第二維(列數)長度b2=4,則B607教室的下標為(1,2)。

B607和B601之間間隔的元素個數為:4×1+2,其中數字的含義依次如下:

4:數組第二維的長度b2;1:元素的第一維下標j1;2:元素的第二維下標j2;

推而廣之,二維數組中任意一個數組元素的存儲地址為:

LOC(j1,j2)=LOC(0,0)+(b2×j1+j2)L

三維數組:上課教室B607所在的一棟樓,每間教室的下標為(層,行,列),我們用(j1,j2,j3)表示,第一維(層數)長度b1=6,第二維(行數)長度b2=2,第三維(列數)b3=4,則B607教室的下標為(5,1,2)。

B607和B101之間間隔的元素個數為:2×4×5+4×1+2,其中數字的含義依次如下:

2:數組第二維的長度b2;4:數組第三維的長度b3;5:元素的第一維下標j1;4:數組的第三維的長度b3;1:元素的第二維下標j2;2:元素的第三維下標j3;

推而廣之,三維數組中任意一個數組元素的存儲地址為:

LOC(j1,j2,j3)=LOC(0,0,0)+(b2×b3×j1+b3×j2+j3)L

四維數組:教學樓的5棟樓聯合編號,每間教室的下標為(棟,層,行,列),我們用(j1,j2,j3,j4)表示,第一維(棟數)長度b1=5,第二維(層數)長度b2=6,第三維(行數)b3=2,第四維(列數)b4=4,則B607教室的下標為(1,5,1,2)。

B607和A101之間間隔的元素個數為:6×2×4×1+ 2×4×5+4×1+2,其中數字的含義依次如下:

6:數組第二維的長度b2;2:數組第三維的長度b3;4:數組第四維的長度b4;1:元素的第一維下標j1;2:數組第三維的長度b3;4:數組第四維的長度b4;5:元素的第二維下標j2;4:數組第四維的長度b4;1:元素的第三維下標j3;2:元素的第四維下標j4;

推而廣之,四維數組中任意一個數組元素的存儲地址為:

LOC(j1,j2,j3,j4)=LOC(0,0,0,0)+(b2×b3×b4×j1+b3×b4×j2+b4×j3+j4)L

然后我們對以上3個地址公式總結規律,最后推廣到N維數組,得到N維數組中任意元素的地址計算公式:

LOC(j1,j2,j3,……,jn)=LOC(0,0,0,

在教學過程中學生很主動的就能計算數組元素的存儲地址,抽象的多維數組轉變成了形象的多維教室,學生興趣倍增,師生的互動也加強了。

6、查找。可以用身邊的某種商品如茶杯,限定最高價格之后讓學生猜商品的價格。此例中我給出的茶杯限定最高價格為400元,真實的價格是275元。

順序查找:學生從高到低(或從低到高)依次猜茶杯的價格,老師提示是否猜中,學生根據這個提示繼續猜,直到猜中價格為止。此例中學生從400開始,依次減少到275,一共要猜126次才能猜中茶杯的價格。

折半查找:老師可以提示學生首先觀察價格序列的特點:從1到400依次遞增,是一個有序的序列,每次猜中間的價格,老師對學生猜出的價格給予指導性意見:比真實價格高還是比真實價格低,學生根據這個提示在左區間或右區間繼續猜,這樣每次都可以縮小一半的查找范圍,速度比順序查找要快。

整個猜價格的過程如下所示(商下取整):

第一次取值區間:1~400

第一次價格:(1+400)/2=200-----比真實價格低,下次在右區間繼續猜

第二次取值區間:201~400

第二次價格:(201+400)/2=300-----比真實價格高,下次在左區間繼續猜

第三次取值區間:201~299

第三次價格:(201+299)/2=250-----比真實價格低,下次在右區間繼續猜

第四次取值區間:251~299

第四次價格:(251+299)/2=275-----和真實價格相同,猜中價格,游戲結束

此次折半查找,只用了四次就猜中了茶杯的價格。通過這個猜茶杯價格的游戲,學生能深切體會到:在數據量比較大的情況下,折半查找的效率比順序查找要高很多。

三、結語

在幾年的數據結構教學過程中,通過不斷的摸索,總結出了一些通俗易懂的教學實例,對激發學生的學習興趣,提高數據結構的教學質量有比較好的效果。當然除了引入生活實例輔助教學,還可以采用多種教學手段,如FLASH動畫等方式增強學生對原理、算法的理解,在今后的教學過程中,還需要不斷地探索,找出更多更好的生活實例來提高教學質量。

【參考文獻】

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

[2]王峰,魏秀然.軟件學院“數據結構”教學改革探討[J].教育與職業,2013(27).

主站蜘蛛池模板: 视频一区亚洲| 久久人午夜亚洲精品无码区| 69综合网| 国产在线98福利播放视频免费| 国产白丝av| 久久久久亚洲AV成人人电影软件| 中国一级毛片免费观看| 九九九九热精品视频| 国产极品美女在线播放| 亚洲AⅤ综合在线欧美一区| 四虎国产成人免费观看| 国产精品自拍合集| 国产精品 欧美激情 在线播放| 久久免费成人| 无码粉嫩虎白一线天在线观看| 特级做a爰片毛片免费69| 免费在线观看av| 国产无码网站在线观看| 国产欧美日韩在线在线不卡视频| 综1合AV在线播放| 国产美女在线免费观看| 国产一二三区在线| 91po国产在线精品免费观看| 欧美日韩成人| 噜噜噜久久| 欧美一级色视频| 熟女成人国产精品视频| 熟女视频91| 国产高清又黄又嫩的免费视频网站| 国产精品福利导航| 夜色爽爽影院18禁妓女影院| 免费精品一区二区h| 51国产偷自视频区视频手机观看| hezyo加勒比一区二区三区| 国产小视频网站| 国产福利小视频高清在线观看| 国产成在线观看免费视频| 波多野结衣无码视频在线观看| 极品av一区二区| 欧美日韩国产高清一区二区三区| 日韩av高清无码一区二区三区| 久久综合伊人 六十路| 热re99久久精品国99热| 最新无码专区超级碰碰碰| 午夜无码一区二区三区| Jizz国产色系免费| 日本人妻丰满熟妇区| 国产无码精品在线播放| 欧美成人精品欧美一级乱黄| 爆乳熟妇一区二区三区| 日本欧美精品| 亚洲日韩久久综合中文字幕| 精品国产电影久久九九| 2022精品国偷自产免费观看| 成人噜噜噜视频在线观看| 刘亦菲一区二区在线观看| 综合亚洲色图| 广东一级毛片| 国产免费精彩视频| 亚洲无码高清视频在线观看| 成人午夜视频在线| 全免费a级毛片免费看不卡| 在线观看亚洲天堂| 欧美无专区| 亚洲无码精品在线播放| 国产在线观看一区精品| 国产大片黄在线观看| 无码综合天天久久综合网| 欧美精品影院| 欧美精品二区| 亚洲aⅴ天堂| www.国产福利| 蝴蝶伊人久久中文娱乐网| 亚洲成aⅴ人片在线影院八| 亚洲人成电影在线播放| 亚洲欧洲自拍拍偷午夜色无码| 国产成人超碰无码| 色久综合在线| 亚洲一级毛片在线观| 婷婷亚洲最大| 青青极品在线| 97成人在线观看|