萬(wàn)淑蘭
摘要:數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件之間的一門(mén)計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)的核心課程,是高級(jí)程序設(shè)計(jì)語(yǔ)言、編譯原理、操作系統(tǒng)、數(shù)據(jù)庫(kù)、人工智能等課程的基礎(chǔ)。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu) 算法 非數(shù)值計(jì)算 操作對(duì)象
一、課程簡(jiǎn)介
《數(shù)據(jù)結(jié)構(gòu)》是計(jì)算機(jī)專(zhuān)業(yè)一門(mén)重要的專(zhuān)業(yè)技術(shù)基礎(chǔ)課程。 數(shù)據(jù)結(jié)構(gòu)的研究范圍主要涉及數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和操作的實(shí)現(xiàn),以及常用的查找和排序技術(shù)。其內(nèi)容是程序設(shè)計(jì)(特別是非數(shù)值計(jì)算的程序設(shè)計(jì))的基礎(chǔ),也是設(shè)計(jì)和實(shí)現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)系統(tǒng)及其它系統(tǒng)程序和大型應(yīng)用程序的重要基礎(chǔ)。
?通過(guò)這門(mén)課程的學(xué)習(xí),使學(xué)生在軟件開(kāi)發(fā)的過(guò)程中能夠正確、合理地選擇數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),有效地設(shè)計(jì)算法,從而提高軟件整體質(zhì)量。 本課程的學(xué)習(xí)將為后續(xù)課程的學(xué)習(xí)以及軟件設(shè)計(jì)水平的提高打下良好的基礎(chǔ)。
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)科學(xué)技術(shù)、信息管理等專(zhuān)業(yè)的核心課程之一,是一門(mén)理論與工程實(shí)踐密切相關(guān)的綜合性課程,在計(jì)算機(jī)學(xué)科教學(xué)中具有十分重要的作用。大力加強(qiáng)數(shù)據(jù)結(jié)構(gòu)課程的建設(shè),提高數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)質(zhì)量,有利于教學(xué)改革和教育創(chuàng)新,有利于高級(jí)應(yīng)用型人才和創(chuàng)新人才的培養(yǎng)。
二、數(shù)據(jù)結(jié)構(gòu)的地位
《數(shù)據(jù)結(jié)構(gòu)》作為一門(mén)獨(dú)立的課程最早是在美國(guó)的一些大學(xué)開(kāi)設(shè)的,1968年美國(guó)Donald .Knuth教授開(kāi)創(chuàng)了數(shù)據(jù)結(jié)構(gòu)的最初體系,他所著的《計(jì)算機(jī)程序設(shè)計(jì)技巧》系統(tǒng)地闡述數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)及其操作的著作,是《數(shù)據(jù)結(jié)構(gòu)》的經(jīng)典之作。20世紀(jì)60年代末出現(xiàn)了大型程序,軟件也相對(duì)獨(dú)立,結(jié)構(gòu)程序設(shè)計(jì)成為程序設(shè)計(jì)方法學(xué)的主要內(nèi)容,人們?cè)絹?lái)越重視數(shù)據(jù)結(jié)構(gòu),認(rèn)為程序設(shè)計(jì)的實(shí)質(zhì)是對(duì)確定的問(wèn)題選擇一種好的結(jié)構(gòu),加上設(shè)計(jì)一種好的算法,即程序=數(shù)據(jù)結(jié)構(gòu)+算法。從70年代開(kāi)始,《數(shù)據(jù)結(jié)構(gòu)》得到了迅速發(fā)展,數(shù)據(jù)結(jié)構(gòu)的研究不僅涉及到計(jì)算機(jī)硬件,而且和計(jì)算機(jī)軟件的研究有著更密切的關(guān)系,無(wú)論是編譯程序、操作系統(tǒng)、數(shù)據(jù)庫(kù)還是信息檢索,都涉及到數(shù)據(jù)元素的組織以及在存儲(chǔ)器中的分配。數(shù)據(jù)結(jié)構(gòu)技術(shù)成為設(shè)計(jì)和實(shí)現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)系統(tǒng)及其它系統(tǒng)程序和大型應(yīng)用程序的關(guān)鍵技術(shù)?!稊?shù)據(jù)結(jié)構(gòu)》的學(xué)習(xí)越來(lái)越被人們所重視,成為構(gòu)建計(jì)算機(jī)類(lèi)專(zhuān)業(yè)群的重要課程。
從課程性質(zhì)講,《數(shù)據(jù)結(jié)構(gòu)》是一門(mén)專(zhuān)業(yè)技術(shù)基礎(chǔ)課程。它的教學(xué)要求是:學(xué)會(huì)分析研究計(jì)算機(jī)加工的數(shù)據(jù)對(duì)象的特性,以便選擇合適的數(shù)據(jù)結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)以及相應(yīng)的算法,初步掌握算法的時(shí)間分析和空間分析的技術(shù)來(lái)評(píng)價(jià)算法的優(yōu)劣,并對(duì)學(xué)生進(jìn)行復(fù)雜程序設(shè)計(jì)的基本訓(xùn)練。
無(wú)論是計(jì)算機(jī)科學(xué)的發(fā)展,還是計(jì)算機(jī)應(yīng)用的發(fā)展,都離不開(kāi)作為基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)組織、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)存取是計(jì)算機(jī)一切領(lǐng)域面臨的最根本的研究課題。
操作系統(tǒng)對(duì)計(jì)算機(jī)硬件資源和軟件資源描述、控制和管理都是通過(guò)一系列表格來(lái)完成的。
編譯程序在編譯過(guò)程中的各種信息是通過(guò)表格來(lái)組織,編譯各階段的過(guò)程是通過(guò)相應(yīng)的表和棧來(lái)控制的。
數(shù)據(jù)庫(kù)系統(tǒng)的根本任務(wù)就是如何有效地組織和管理數(shù)據(jù)。
在計(jì)算機(jī)圖形圖像技術(shù)和多媒體技術(shù)中,最關(guān)鍵最重要的技術(shù)就是數(shù)據(jù)的獲取、標(biāo)識(shí)、組織和管理。
人工智能和專(zhuān)家系統(tǒng)中知識(shí)的表示和組織、推理過(guò)程的狀態(tài)表述和控制都是以數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ)的。
在計(jì)算機(jī)類(lèi)專(zhuān)業(yè)課程中,特別是計(jì)算機(jī)軟件類(lèi)課程設(shè)置中,《數(shù)據(jù)結(jié)構(gòu)》更反映了它的基礎(chǔ)地位和核心地位?!恫僮飨到y(tǒng)》、《編譯原理》、《數(shù)據(jù)庫(kù)原理與應(yīng)用》、《計(jì)算機(jī)圖形技術(shù)》等課程,都離不開(kāi)數(shù)據(jù)結(jié)構(gòu)的知識(shí)。
三、數(shù)據(jù)結(jié)構(gòu)的研究范疇
數(shù)據(jù)結(jié)構(gòu)是一門(mén)研究非數(shù)值計(jì)算的程序設(shè)計(jì)問(wèn)題中計(jì)算機(jī)的操作對(duì)象及其關(guān)系和操作的學(xué)科。它主要研究:
① 數(shù)據(jù)的邏輯結(jié)構(gòu)--數(shù)據(jù)關(guān)系之間的邏輯關(guān)系
② 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)--數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
③ 操作算法--插入、刪除、修改、查詢(xún)、排序等
其中,數(shù)據(jù)的邏輯結(jié)構(gòu)包括:線性表、樹(shù)、圖,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)包括:順序存儲(chǔ)、鏈?zhǔn)酱鎯?chǔ)。
通過(guò)這門(mén)課程的學(xué)習(xí),學(xué)生應(yīng)能在軟件開(kāi)發(fā)的過(guò)程中正確、合理地選擇數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),有效地設(shè)計(jì)算法,從而提高軟件整體質(zhì)量。本課程的學(xué)習(xí)將為后續(xù)課程的學(xué)習(xí)以及軟件設(shè)計(jì)水平的提高打下良好的基礎(chǔ)。
四、數(shù)據(jù)結(jié)構(gòu)的教學(xué)目的和基本要求
1、教學(xué)目的
數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件之間的一門(mén)計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)的核心課程,是高級(jí)程序設(shè)計(jì)語(yǔ)言、編譯原理、操作系統(tǒng)、數(shù)據(jù)庫(kù)、人工智能等課程的基礎(chǔ)。同時(shí),數(shù)據(jù)結(jié)構(gòu)技術(shù)也廣泛應(yīng)用于信息科學(xué)、系統(tǒng)工程、應(yīng)用數(shù)學(xué)以及各種工程技術(shù)領(lǐng)域。數(shù)據(jù)結(jié)構(gòu)的內(nèi)容包括抽象、實(shí)現(xiàn)和評(píng)價(jià)三個(gè)層次,從數(shù)據(jù)表示和數(shù)據(jù)處理上看有五個(gè)基本組成“要素”分別是邏輯結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)、基本運(yùn)算、算法及不同數(shù)據(jù)結(jié)構(gòu)的比較與算法分析。通過(guò)學(xué)習(xí),使學(xué)生初步具備分析問(wèn)題、解決問(wèn)題的能力,養(yǎng)成良好的程序設(shè)計(jì)風(fēng)格,積聚和提高基本的分析設(shè)計(jì)能力,并培養(yǎng)團(tuán)隊(duì)寫(xiě)作能力。為后續(xù)課程的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。
2、基本要求:
(1)了解數(shù)據(jù)結(jié)構(gòu)及其分類(lèi)、數(shù)據(jù)結(jié)構(gòu)與算法的密切關(guān)系;
(2)掌握設(shè)計(jì)算法的步驟和算法分析方法;
(3)熟悉各種基本數(shù)據(jù)結(jié)構(gòu)及其操作,學(xué)會(huì)根據(jù)實(shí)際問(wèn)題要求來(lái)選擇數(shù)據(jù)結(jié)構(gòu);
(4)掌握常規(guī)設(shè)計(jì)方法和技巧?!?/p>
參考文獻(xiàn):
[1]王洪 淺析《數(shù)據(jù)結(jié)構(gòu)》教學(xué)問(wèn)題
[2] 王嵐,張倩茜 《數(shù)據(jù)結(jié)構(gòu)》教學(xué)探討