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