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

高職《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革重在應(yīng)用的探索

2009-04-29 00:00:00王永紅
電腦知識(shí)與技術(shù) 2009年36期

摘要:《數(shù)據(jù)結(jié)構(gòu)》是一門重要的課程,但是又是學(xué)生反映難學(xué)的課程。通過教學(xué)改革的探索,分析了《數(shù)據(jù)結(jié)構(gòu)》的教學(xué)內(nèi)容和高職的狀況,提出高職的就業(yè)教育決定高職《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革重在應(yīng)用的思想。

關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);教學(xué)改革;應(yīng)用

中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2009)36-10155-02

The Teaching Reform and Exploration of the Course of Data Structure in High Vocational Education

WANG Yong-hong

(Jiangsu Animal Husbandry Veterinary College,Taizhou 25300, China)

Abstract: Data structure is an important course, but it is difficult for students to learn it in high vocational education. Through the exploration of teaching reform, this text analyses the Data structure teaching contents and status of vocational education, proposes the idea that the character of vocational education decide application about Data StructureTeaching Reform.

Key words: Data Structures; Teaching Reform; application

《數(shù)據(jù)結(jié)構(gòu)》是計(jì)算機(jī)應(yīng)用技術(shù)、軟件技術(shù)、網(wǎng)絡(luò)技術(shù)等專業(yè)的重要專業(yè)基礎(chǔ)課,是計(jì)算機(jī)科學(xué)的算法理論基礎(chǔ)和軟件設(shè)計(jì)的技術(shù)基礎(chǔ),也是我校計(jì)算機(jī)大類專業(yè)教學(xué)改革的重點(diǎn)課程之一。

《數(shù)據(jù)結(jié)構(gòu)》研究的對(duì)象是數(shù)據(jù)之間的邏輯結(jié)構(gòu),以及如何把它們存儲(chǔ)起來并便于訪問和處理[1]。組織數(shù)據(jù)時(shí),數(shù)據(jù)之間有四種邏輯結(jié)構(gòu)(集合、線性結(jié)構(gòu)、層次結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu))。存儲(chǔ)數(shù)據(jù)時(shí),也有四種存儲(chǔ)結(jié)構(gòu)(順序結(jié)構(gòu)、鏈接結(jié)構(gòu)、索引結(jié)構(gòu)和散列結(jié)構(gòu)),它們的組合可以構(gòu)成更復(fù)雜的存儲(chǔ)結(jié)構(gòu)[2-3]。對(duì)數(shù)據(jù)進(jìn)行處理通常包括輸入、輸出、查找、更新、排序、插入和刪除等運(yùn)算。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不同時(shí),相應(yīng)運(yùn)算的實(shí)現(xiàn)算法也不同。

在高職《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革中,如何更好地進(jìn)行教學(xué),取得好的教學(xué)效果,是我們一直探索的問題。

1 《數(shù)據(jù)結(jié)構(gòu)》學(xué)習(xí)中的問題

1.1 高職的性質(zhì)和特征

我們《數(shù)據(jù)結(jié)構(gòu)》教學(xué)的對(duì)象是高職學(xué)生,而高職教育就是就業(yè)教育。計(jì)算機(jī)專業(yè),如軟件專業(yè),其出口是符合企業(yè)崗位入門需求,具有相當(dāng)于一年軟件開發(fā)經(jīng)驗(yàn)的軟件開發(fā)工程師(資格證書)[4]。就業(yè)教育的特征是以就業(yè)為導(dǎo)向,以就業(yè)崗位的需求為基礎(chǔ),明確培養(yǎng)目標(biāo)和教學(xué)的程度。以實(shí)用技能為核心,選擇課程內(nèi)容,學(xué)以致用。以動(dòng)手能力為突破點(diǎn),培養(yǎng)自學(xué)能力、解決問題能力。以項(xiàng)目經(jīng)驗(yàn)為學(xué)習(xí)目標(biāo),了解行業(yè)規(guī)則。《數(shù)據(jù)結(jié)構(gòu)》也應(yīng)緊緊圍繞這一特征展開教學(xué)。

1.2 《數(shù)據(jù)結(jié)構(gòu)》教學(xué)的狀況

從以往《數(shù)據(jù)結(jié)構(gòu)》教學(xué)的情況看,效果沒有完全達(dá)到,高職學(xué)生的來源、現(xiàn)狀、特點(diǎn),如學(xué)生理論應(yīng)用能力欠缺,不能正確認(rèn)識(shí)課程的作用,學(xué)習(xí)積極性不高等,影響了課程的教學(xué)[5]。在《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革中,我們從課程本身入手,分析存在的問題,課程理論偏多,使得高職學(xué)生掌握困難,實(shí)踐課程難度偏大,起不到應(yīng)有作用,應(yīng)用不具體,缺乏應(yīng)用示例。我們提出,高職《數(shù)據(jù)結(jié)構(gòu)》課程的改革不宜理論太抽象,而應(yīng)重在應(yīng)用。

2 《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革重在應(yīng)用

2.1 《數(shù)據(jù)結(jié)構(gòu)》教學(xué)理解

數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)間的相互關(guān)系。具體到計(jì)算機(jī)環(huán)境,一種結(jié)構(gòu)自然地聯(lián)系著作用在這種類型的數(shù)據(jù)上的運(yùn)算,為了執(zhí)行運(yùn)算,必須把數(shù)據(jù)以某種方式存儲(chǔ)在計(jì)算機(jī)中。因此,我們認(rèn)為,數(shù)據(jù)結(jié)構(gòu)就是由某種邏輯關(guān)系組織起來的一批數(shù)據(jù),按一定的存儲(chǔ)方法被存儲(chǔ)于計(jì)算機(jī)中,并在這些數(shù)據(jù)上定義一個(gè)運(yùn)算的集合[6]。

通常,算法的設(shè)計(jì)取決于數(shù)據(jù)的邏輯結(jié)構(gòu),算法的實(shí)現(xiàn)取決于數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)。每種數(shù)據(jù)結(jié)構(gòu)從邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和操作運(yùn)算等方面進(jìn)行教學(xué),全篇從集合、線性結(jié)構(gòu)等基本數(shù)據(jù)結(jié)構(gòu)入手,實(shí)現(xiàn)層次結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)等較復(fù)雜結(jié)構(gòu)教學(xué),這是《數(shù)據(jù)結(jié)構(gòu)》教學(xué)的共同切入點(diǎn)[7]。

2.2 高職《數(shù)據(jù)結(jié)構(gòu)》教學(xué)應(yīng)發(fā)生變化

在《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革中,我們研究認(rèn)為,由于高職自身的特點(diǎn)和辦學(xué)的現(xiàn)狀,作為高職《數(shù)據(jù)結(jié)構(gòu)》的教學(xué),其內(nèi)容和要求應(yīng)有所變化,側(cè)重點(diǎn)適當(dāng)改變,理論的教學(xué)在內(nèi)容和課時(shí)上應(yīng)減少,課程的重點(diǎn)應(yīng)轉(zhuǎn)移到數(shù)據(jù)結(jié)構(gòu)的應(yīng)用上。最終的目的是學(xué)生應(yīng)能夠把基本的數(shù)據(jù)結(jié)構(gòu)作為對(duì)象來看待,能夠把常用的數(shù)據(jù)結(jié)構(gòu)與面向?qū)ο蟮某绦蛟O(shè)計(jì)方法聯(lián)系起來,進(jìn)而掌握常用的線性表、堆棧、隊(duì)列、二叉樹、向量等數(shù)據(jù)結(jié)構(gòu)及各種排序、查找算法應(yīng)用[8],達(dá)到高職學(xué)生學(xué)了《數(shù)據(jù)結(jié)構(gòu)》能夠在系統(tǒng)開發(fā)中應(yīng)用數(shù)據(jù)結(jié)構(gòu)的目的。

具體地說,通過課程的教學(xué),學(xué)生能夠具備常用的基本數(shù)據(jù)結(jié)構(gòu)主要算法的應(yīng)用能力;具備常用的排序、檢索和索引算法應(yīng)用能力;具備在進(jìn)行程序設(shè)計(jì)、調(diào)試、測試的課程項(xiàng)目訓(xùn)練過程中,能夠合理地組織數(shù)據(jù)、有效地表示數(shù)據(jù)、有效地處理數(shù)據(jù),書寫的程序結(jié)構(gòu)清楚、正確易讀,提高程序設(shè)計(jì)的質(zhì)量等能力[6]。

所以,教學(xué)重點(diǎn)也應(yīng)隨著相應(yīng)改變?yōu)?基本數(shù)據(jù)結(jié)構(gòu)在解決實(shí)際問題中的應(yīng)用;基本的算法策略在解決實(shí)際問題的應(yīng)用;新興數(shù)據(jù)結(jié)構(gòu)的相關(guān)問題;新興算法的相關(guān)問題及實(shí)踐;經(jīng)典問題的經(jīng)典算法;典型系統(tǒng)的計(jì)算機(jī)模擬;需自行設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)和算法來解決的實(shí)際問題[9]。

算法描述語言采用廣為程序員所使用的面向?qū)ο蟮恼Z言,使得ADT (抽象數(shù)據(jù)類型)的概念得到更自然的體現(xiàn),更本質(zhì)地體現(xiàn)數(shù)據(jù)結(jié)構(gòu)的思想,而且所定義的數(shù)據(jù)結(jié)構(gòu)類能夠方便地被重用[6]。

3 《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革實(shí)踐

以線性表為例闡述《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革的思路。《數(shù)據(jù)結(jié)構(gòu)》線性表在全篇中處于基礎(chǔ)、入門的地位。我們?cè)诮虒W(xué)改革中,按照先講清概念,再結(jié)合圖像、動(dòng)畫理解邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),重點(diǎn)講解線性表的應(yīng)用的方式進(jìn)行教學(xué),有意識(shí)地弱化理論性,強(qiáng)調(diào)動(dòng)手能力的培養(yǎng)。講解應(yīng)用時(shí),采用了Java語言作為描述語言,因?yàn)镴ava語言提供了許多預(yù)定義好的和已經(jīng)實(shí)現(xiàn)的標(biāo)準(zhǔn)庫,能夠直接全面支持?jǐn)?shù)據(jù)結(jié)構(gòu)原理[10]。

在講解線性表的概念時(shí),通過舉例,學(xué)生能夠理解具有相同屬性的數(shù)據(jù)元素的有限序列,邏輯結(jié)構(gòu)通過示意圖講解也能接收。但線性表如何實(shí)現(xiàn),就涉及到數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)有順序、鏈接、散列多種方式。我們講解兩種基本的存儲(chǔ)結(jié)構(gòu)。

在講解存儲(chǔ)結(jié)構(gòu)時(shí)采用圖像示意,加在其上的算法采用動(dòng)畫演示,但算法的具體代碼描述已不再是重點(diǎn)。學(xué)生聽懂后,重點(diǎn)轉(zhuǎn)向數(shù)據(jù)結(jié)構(gòu)的應(yīng)用。就線性表而言,順序表采用ArrayList類實(shí)現(xiàn),鏈表采用LinkedList類實(shí)現(xiàn)。在Java語言中,與《數(shù)據(jù)結(jié)構(gòu)》一樣,ADT是一個(gè)僅保存數(shù)據(jù)類型和可能在這個(gè)數(shù)據(jù)類型上進(jìn)行的操作定義。開發(fā)者只能通過ADT的操作方法來訪問ADT的屬性,無需知道ADT內(nèi)部操作如何實(shí)現(xiàn)[11]。這就為我們《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革的重在應(yīng)用提供了可能性。

所以,線性表無論是采用何種存儲(chǔ)結(jié)構(gòu),對(duì)外的接口總是不變。ArrayList類、LinkedList類都是List接口的實(shí)現(xiàn)。List接口中void add(int index,Object element)在指定位置index上添加元素element,Object remove(int index)刪除指定位置上的元素,Object get(int index)返回List中指定位置的元素,int indexOf(Object o)返回第一個(gè)出現(xiàn)元素o的位置,如果沒有該元素則返回-1,int size(),List subList(fromIndex, toIndex)等方法,ArrayList類、LinkedList類同樣具有。LinkedList類增加特有的方法,如void addFirst(Object o),void addLast(Object o),Object getFirst( ),Object getLast( ),Object removeFirst( ),Object removeLast( )。

該處數(shù)據(jù)結(jié)構(gòu)應(yīng)用舉例為模擬撲克發(fā)牌。采用ArrayList實(shí)現(xiàn)。首先生成52張撲克牌,然后用Collections.shuffle( )方法打亂牌的順序,這個(gè)操作即模擬撲克洗牌操作,之后根據(jù)運(yùn)行參數(shù)進(jìn)行模擬撲克發(fā)牌。發(fā)牌方法dealHand(List deck,int n),參數(shù)n指明每人發(fā)牌張數(shù)。部分代碼如下:

public static List dealHand(List deck,int n){//發(fā)牌

int deckSize=deck.size();

List handView=deck.subList(deckSize-n,deckSize);

List hand=new ArrayList(handView);

handView.clear();

return hand;

}

再通過調(diào)用main()方法來調(diào)用dealHand(deck,cardsPerHand)。

int numHands=4;//發(fā)牌人數(shù)

int cardsPerHand=11;//每人發(fā)牌張數(shù)

String[]suit=new String[]{\"spades\",\"hearts\",\"diamonds\",\"clubs\"};//四種花式

String[]rank=new String[]{\"Ace\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"Jack\",\"Queen\",\"King\"};//13張牌

List deck=new ArrayList();//

for(int i=0;i

for(int j=0;j

deck.add(rank[j]+\" of \"+suit[i]);

Collections.shuffle(deck);//打亂牌的順序,模擬洗牌操作

for(int i=0;i

System.out.println(dealHand(deck,cardsPerHand));//發(fā)牌

當(dāng)我們將

for(int i=0;i

System.out.println(dealHand(deck,cardsPerHand));//發(fā)牌

增加在

Collections.shuffle(deck);//打亂牌的順序,模擬洗牌操作

之前,可以對(duì)照洗牌前后的線性表的元素,順序發(fā)生了變化,加強(qiáng)了對(duì)有序概念的理解。

這樣的數(shù)據(jù)結(jié)構(gòu)講解,學(xué)生特別有興趣,在不知不覺中,理解了數(shù)據(jù)結(jié)構(gòu)的概念,學(xué)會(huì)了線性表的應(yīng)用,達(dá)到了《數(shù)據(jù)結(jié)構(gòu)》課程的教學(xué)目的。

4 結(jié)束語

《數(shù)據(jù)結(jié)構(gòu)》課程是我校的精品課程,通過多年教學(xué)改革,我們做了許多有益的探索,學(xué)生通過共享教學(xué)改革的成果,對(duì)《數(shù)據(jù)結(jié)構(gòu)》課程的學(xué)習(xí)收到了很好的效果。通過不斷努力探索,我們將《數(shù)據(jù)結(jié)構(gòu)》課程的教學(xué)從理論較重,改變?yōu)樽⒅貞?yīng)用,走出一條適合高職學(xué)生的教學(xué)之路。

參考文獻(xiàn):

[1] 馬秋菊.數(shù)據(jù)結(jié)構(gòu)[M].北京:中國水利水電出版社,2006.

[2] 唐策善,黃劉生.數(shù)據(jù)結(jié)構(gòu)[M].北京:高等教育出版社,2004.

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

[4] 全國高等院校計(jì)算機(jī)基礎(chǔ)教育研究會(huì)[M].高職院校計(jì)算機(jī)教育經(jīng)驗(yàn)匯編. 北京:中國鐵道出版社,2007.

[5] 劉建國.高職《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)方法改革探討[J].北京市經(jīng)濟(jì)管理干部學(xué)院學(xué)報(bào).2007.6:78-80.

[6] 張銘,等.數(shù)據(jù)結(jié)構(gòu)課程的知識(shí)體系和教學(xué)實(shí)踐[J].計(jì)算機(jī)教育.2004.3:89-91.

[7] 帥訓(xùn)波,等.數(shù)據(jù)結(jié)構(gòu)間的縱橫聯(lián)系,計(jì)算機(jī)與信息技術(shù)[J].2007.8:39-41.

[8] 王志華,等.高等職業(yè)教育中《數(shù)據(jù)結(jié)構(gòu)》課程建設(shè)研究[J].忻州師范學(xué)院學(xué)報(bào).2007.4:59-61.

[9] 李治軍,等.數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)教學(xué)模式的探討[J].計(jì)算機(jī)教育.2006.2:54-57.

[10] J. Pinson著,羅英偉等譯,Java數(shù)據(jù)結(jié)構(gòu)與面向?qū)ο缶幊袒A(chǔ)[M].北京:人民郵電出版社,2002.

[11] 孫杰,Java程序設(shè)計(jì)[M].北京:中國計(jì)劃出版社,2007.

主站蜘蛛池模板: 亚洲自拍另类| 国产午夜精品鲁丝片| 欧美一区二区自偷自拍视频| 国产第三区| 亚洲成年人片| 国产一区亚洲一区| 香蕉久人久人青草青草| 国内精品久久人妻无码大片高| 久久99精品久久久久久不卡| 麻豆精选在线| 亚洲欧美日韩中文字幕在线| 玩两个丰满老熟女久久网| 操美女免费网站| 亚洲国产精品美女| 丝袜久久剧情精品国产| 亚洲婷婷六月| 国产区精品高清在线观看| 日本黄色不卡视频| 亚洲区欧美区| 九九这里只有精品视频| 中文国产成人精品久久一| 免费无遮挡AV| 精品91自产拍在线| 国产精品亚洲片在线va| 亚洲国产成人在线| 国产黄网站在线观看| 久久婷婷五月综合色一区二区| 91黄视频在线观看| 日本一区二区三区精品国产| 精品一区二区三区波多野结衣| 97综合久久| 99无码中文字幕视频| 欧美精品在线观看视频| 国产自视频| 中文字幕天无码久久精品视频免费 | 成人免费黄色小视频| 国产91导航| 日本在线国产| 五月婷婷激情四射| 朝桐光一区二区| 不卡无码网| 成年网址网站在线观看| 一级成人欧美一区在线观看| 亚洲网综合| 91丝袜在线观看| 国内熟女少妇一线天| 亚洲精品不卡午夜精品| 99er精品视频| 色婷婷在线播放| 亚洲精品无码人妻无码| 久久这里只有精品66| 亚洲综合九九| 在线观看无码av免费不卡网站| 网友自拍视频精品区| 欧美日韩午夜| 国产成人一区| 久久国产乱子伦视频无卡顿| 欧美三级日韩三级| 九九免费观看全部免费视频| 亚洲三级影院| 91精品国产自产91精品资源| 久久香蕉国产线看观看亚洲片| 亚洲精品午夜天堂网页| 在线国产毛片| 在线播放真实国产乱子伦| 青青青国产视频| 欧美劲爆第一页| 国产精品对白刺激| 亚洲无码高清一区二区| 免费高清a毛片| 日韩高清中文字幕| 亚洲成人精品| 国产高清国内精品福利| 亚洲第一黄片大全| 日本国产一区在线观看| 国产成人免费高清AⅤ| 中文字幕亚洲另类天堂| 国产精品极品美女自在线| 2021最新国产精品网站| 无码内射中文字幕岛国片| 免费一级毛片不卡在线播放| 国产午夜人做人免费视频中文|