數(shù)據(jù)結(jié)構(gòu)2課件_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)2課件_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)2課件_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)2課件_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)2課件_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

(第一講)紹興文理學(xué)院計(jì)算機(jī)系計(jì)算機(jī)應(yīng)用教研室數(shù)據(jù)結(jié)構(gòu)(第一講)紹興文理學(xué)院計(jì)算機(jī)系計(jì)算機(jī)應(yīng)用教研室數(shù)據(jù)結(jié)構(gòu)TKS2為什么要學(xué)習(xí)

數(shù)據(jù)結(jié)構(gòu)?*

TKS2為什么要學(xué)習(xí)

數(shù)據(jù)結(jié)構(gòu)?*

起始課、第1章緒論(1)一、教學(xué)目的:明確數(shù)據(jù)結(jié)構(gòu)課程在自身發(fā)展、應(yīng)用等遠(yuǎn)景和本專(zhuān)業(yè)知識(shí)結(jié)構(gòu)中的地位、作用;明確課程的特點(diǎn)、教學(xué)要求、學(xué)習(xí)方法;明確數(shù)據(jù)結(jié)構(gòu)所研究的問(wèn)題以及有關(guān)基本概念;明確抽象數(shù)據(jù)類(lèi)型的概念和描述方法。

二、教學(xué)重點(diǎn):數(shù)據(jù)結(jié)構(gòu)課程在自身發(fā)展、應(yīng)用等遠(yuǎn)景和本專(zhuān)業(yè)知識(shí)結(jié)構(gòu)中的地位、作用;數(shù)據(jù)結(jié)構(gòu)所研究的問(wèn)題以及有關(guān)基本概念;抽象數(shù)據(jù)類(lèi)型。

三、教學(xué)難點(diǎn):理解數(shù)據(jù)結(jié)構(gòu)所研究的問(wèn)題;抽象數(shù)據(jù)類(lèi)型。

四、教學(xué)過(guò)程:起始課、第1章緒論(1)一、教學(xué)目的:明確數(shù)據(jù)結(jié)構(gòu)課TKS41、應(yīng)用、科學(xué)的思想和方法-自身發(fā)展及其遠(yuǎn)景的需要(1)“校園卡”買(mǎi)飯菜等§1.0為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)*

不同的查找主要用到數(shù)據(jù)的組織和查找。不同的數(shù)據(jù)的組織和查找效率是很不一樣的,不同的查找方法其效率相差百倍以上乃至千倍。這是數(shù)據(jù)的組織和查找問(wèn)題,在第7章中進(jìn)行討論。(2)打電話(huà)-存在0575和05758的城市電話(huà)區(qū)號(hào)嗎?

若存在,則057588341511是0575對(duì)應(yīng)城市下面的88341511還是05758對(duì)應(yīng)城市下面的8341511呢?程控電話(huà)如何處理?又:為什么北京的電話(huà)區(qū)號(hào)是010,而紹興的區(qū)號(hào)是0575?這是利用樹(shù)結(jié)構(gòu)的編碼問(wèn)題,在第5章中進(jìn)行討論。TKS41、應(yīng)用、科學(xué)的思想和方法-自身發(fā)展及其遠(yuǎn)景的需要§(3)高考分?jǐn)?shù)的排名-以便錄取在第8章中進(jìn)行討論。(4)快遞線(xiàn)路、運(yùn)費(fèi)最省、最短旅行線(xiàn)路等問(wèn)題TKS5*

在計(jì)算機(jī)系統(tǒng)軟件和應(yīng)用軟件中排序的使用頻度很高。然而不同的排序方法排序效率是很不一樣的。其排序效率相差百倍以上。不同的排序這是圖結(jié)構(gòu)問(wèn)題,在第6章中進(jìn)行討論。最短路徑(5)管線(xiàn)、道路連通的最少代價(jià)問(wèn)題這是圖結(jié)構(gòu)問(wèn)題,在第6章中進(jìn)行討論。

(6)工程計(jì)劃問(wèn)題

這是圖結(jié)構(gòu)問(wèn)題,在第6章中進(jìn)行討論。

關(guān)鍵路徑(3)高考分?jǐn)?shù)的排名-以便錄取3、是后續(xù)課程和軟件技術(shù)基礎(chǔ)的需要數(shù)據(jù)結(jié)構(gòu)是操作系統(tǒng)、軟件工程、計(jì)算機(jī)網(wǎng)絡(luò)、編譯原理、數(shù)據(jù)庫(kù)等信息技術(shù)相關(guān)專(zhuān)業(yè)主要課程的先修課程;是掌握一定的算法理論、數(shù)據(jù)組織和處理技術(shù)、提高編程技能和提高實(shí)踐動(dòng)手能力需要。4、是培養(yǎng)科學(xué)的思想和方法,整體把握利用計(jì)算機(jī)解決問(wèn)題的需要

有人設(shè)想將常用的數(shù)千個(gè)漢字進(jìn)行全排列,用這些字寫(xiě)出的不朽詩(shī)篇,名言佳句將都在其中了。

每年按365天,每天24小時(shí),每小時(shí)3600秒,對(duì)于每秒能生成108個(gè)排列的超高速電子計(jì)算機(jī),即使一年到頭從不休息地工作也需要:3.04×1064/(365×24×3600×108)≈9.64×1049

(年)。所以有些問(wèn)題是計(jì)算機(jī)根本不能解決的。

但就當(dāng)n=50時(shí),有n!≈3.041064,(7)問(wèn)題規(guī)模的判斷-時(shí)間和空間復(fù)雜度問(wèn)題TKS6*

算法復(fù)雜度2、是考研的需要3、是后續(xù)課程和軟件技術(shù)基礎(chǔ)的需要有人設(shè)想將常用的數(shù)(1)現(xiàn)實(shí)世界:現(xiàn)實(shí)中的事物和問(wèn)題。

(2)信息世界:把現(xiàn)實(shí)世界中的事物和問(wèn)題經(jīng)過(guò)分析、抽象、歸納、整理后得到的邏輯意義上的事物和問(wèn)題的數(shù)據(jù)和數(shù)據(jù)關(guān)系。

(3)機(jī)器世界:把信息世界里的數(shù)據(jù)和數(shù)據(jù)關(guān)系,組織并存儲(chǔ)到計(jì)算機(jī)里,通過(guò)計(jì)算機(jī)來(lái)處理事物和解決問(wèn)題。6、計(jì)算機(jī)求解問(wèn)題的步驟:

實(shí)際問(wèn)題問(wèn)題模型機(jī)器模型求解算法編制程序問(wèn)題實(shí)現(xiàn)分析抽象分析歸納模型求解命令編程調(diào)試程序5、三個(gè)世界TKS7*

數(shù)據(jù)結(jié)構(gòu)是三個(gè)世界的紐帶數(shù)據(jù)結(jié)構(gòu)的知識(shí)和技能對(duì)現(xiàn)實(shí)世界的分析到信息世界提供直接而重要的幫助,結(jié)合編程工具,實(shí)現(xiàn)由信息世界到機(jī)器世界的轉(zhuǎn)換,是實(shí)現(xiàn)用計(jì)算機(jī)來(lái)解決問(wèn)題強(qiáng)有力的支撐。(1)現(xiàn)實(shí)世界:現(xiàn)實(shí)中的事物和問(wèn)題。6、計(jì)算機(jī)求解問(wèn)題的

§1.1數(shù)據(jù)結(jié)構(gòu)的研究?jī)?nèi)容

數(shù)據(jù)結(jié)構(gòu)主要研究非數(shù)值計(jì)算問(wèn)題,非數(shù)值計(jì)算問(wèn)題無(wú)法用數(shù)學(xué)方程建立數(shù)學(xué)模型。

例1書(shū)目自動(dòng)檢索系統(tǒng)登錄號(hào):書(shū)名:作者名:分類(lèi)號(hào):出版單位:出版時(shí)間:價(jià)格:書(shū)目卡片書(shū)目文件按書(shū)名按作者名按分類(lèi)號(hào)索引表線(xiàn)性表1、數(shù)據(jù)結(jié)構(gòu)的研究?jī)?nèi)容001高等數(shù)學(xué)樊映川S01002理論力學(xué)羅遠(yuǎn)祥L(zhǎng)01003高等數(shù)學(xué)華羅庚S01004線(xiàn)性代數(shù)欒汝書(shū)S02………………………………004,…線(xiàn)性代數(shù)002,…理論力學(xué)001,003,…高等數(shù)學(xué)…………004,…欒汝書(shū)002,…華羅庚001,…樊映川…………001,003,…S002,…LTKS8*

§1.1數(shù)據(jù)結(jié)構(gòu)的研究?jī)?nèi)容數(shù)據(jù)結(jié)構(gòu)主要研究例2人機(jī)對(duì)弈問(wèn)題

………………………………樹(shù)TKS9*

例2人機(jī)對(duì)弈問(wèn)題………………樹(shù)TKS9*TKS10

“深藍(lán)”與卡斯帕羅夫?qū)?/p>

▲國(guó)際象棋棋盤(pán)有64格,每方有16個(gè)子。棋手在思考下一步棋時(shí)大約有35種合法選擇。

▲目前最好的國(guó)際象棋程序可以分析到七八個(gè)回合,若要求電腦能思考到第七個(gè)回合,即14步棋,則需要有3514種可能的結(jié)局。

▲下棋程序靠的是基本的行棋知識(shí)和強(qiáng)大無(wú)比的檢索演算能力。這種信息檢索選擇方式好比一棵樹(shù);共有35個(gè)枝干,每個(gè)枝干有35個(gè)樹(shù)叉,…,最終到樹(shù)葉,即可供選擇的結(jié)果。越好的程序,所派生的樹(shù)枝樹(shù)叉就越多。

▲一般來(lái)講,電腦每下一步棋,仍需有500億或600億種選擇。TKS10“深藍(lán)”與卡斯帕羅夫?qū)摹鴩?guó)際象棋棋盤(pán)例3文件系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖TKS11*

binlibuseretcmathdsswtaoyinxieStack.cppTree.cppQueue.cpp/(root)樹(shù)例3文件系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖TKS11*binlibuserv1v2v3v4v5v6105666107121015

v5

v1

v2

v3

v4

v6

例4最短管道連通問(wèn)題

TKS12*

圖2、課程的地位和性質(zhì)沃思(N.Wirth)的一個(gè)著名公式:

數(shù)據(jù)結(jié)構(gòu)+算法=程序(獲1984年計(jì)算圖靈獎(jiǎng))。(1)地位:計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)等信息類(lèi)專(zhuān)業(yè)的核心課程;信息類(lèi)軟件方向碩士研究生入學(xué)考的必考科目。(2)性質(zhì):算法設(shè)計(jì)基礎(chǔ)和軟件技術(shù)的重要專(zhuān)業(yè)理論與技術(shù)基礎(chǔ)課。v1v2v3v4v5v6105666107121015v5

3、數(shù)據(jù)結(jié)構(gòu)的產(chǎn)生和發(fā)展

為了研究數(shù)據(jù)的特性,數(shù)據(jù)之間的關(guān)系,數(shù)據(jù)的存儲(chǔ)表示及其算法等,發(fā)展了數(shù)據(jù)結(jié)構(gòu)。國(guó)外從1968年開(kāi)始作為一門(mén)獨(dú)立的課程。

1968年美國(guó)唐·歐·克努特教授開(kāi)創(chuàng)了數(shù)據(jù)結(jié)構(gòu)的最初體系,他所著的《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》第一卷(基本算法)是第一本較系統(tǒng)地闡述數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)及其操作的著作。4、課程學(xué)習(xí)的特點(diǎn)和要求(1)課程學(xué)習(xí)的特點(diǎn):我們學(xué)習(xí)的是基礎(chǔ)的、常用的和比較成熟的基本數(shù)據(jù)結(jié)構(gòu),目的是掌握這些數(shù)據(jù)結(jié)構(gòu)及算法并付之應(yīng)用。(2)課程學(xué)習(xí)要求:

樹(shù)立學(xué)好的信心,上課注意聽(tīng),課前預(yù)習(xí),課后復(fù)習(xí),加強(qiáng)分析,多上機(jī)練習(xí),多問(wèn),獨(dú)立完成作業(yè)及上機(jī)實(shí)驗(yàn)。(3)課程網(wǎng)站:(4)師生互動(dòng)中的用戶(hù)名:學(xué)號(hào),密碼:XXXXTKS13*

3、數(shù)據(jù)結(jié)構(gòu)的產(chǎn)生和發(fā)展為了研究數(shù)據(jù)的特性(5)教材:《數(shù)據(jù)結(jié)構(gòu)》(C語(yǔ)言版)嚴(yán)蔚敏等編著人民郵電出版社2011年

參考書(shū):《數(shù)據(jù)結(jié)構(gòu)》(C語(yǔ)言版)嚴(yán)蔚敏等編著清華大學(xué)出版社1997年

《數(shù)據(jù)結(jié)構(gòu)》許卓群等編著高等教育出版社1987年

《數(shù)據(jù)結(jié)構(gòu)題集》嚴(yán)蔚敏等編著北京清華大學(xué)出版社1999年

《數(shù)據(jù)結(jié)構(gòu)》(C語(yǔ)言篇)-習(xí)題與解析李春葆編著清華大學(xué)出版社2002年

《數(shù)據(jù)結(jié)構(gòu)》唐策善等編著高等教育出版社1996年§1.2基本概念和術(shù)語(yǔ)§1.2.1數(shù)據(jù)、數(shù)據(jù)元素、數(shù)據(jù)項(xiàng)和數(shù)據(jù)對(duì)象1、數(shù)據(jù)(Data):能輸入到計(jì)算機(jī)并被計(jì)算機(jī)程序處理的符號(hào)總稱(chēng)。2、數(shù)據(jù)元素(DataElement):數(shù)據(jù)的基本單位,可以是若干個(gè)數(shù)據(jù)項(xiàng)(最小單位)組成。通常作為一個(gè)整體進(jìn)行考慮和處理。TKS14*

(5)教材:《數(shù)據(jù)結(jié)構(gòu)》(C語(yǔ)言版)嚴(yán)蔚敏等編著人民郵3、數(shù)據(jù)項(xiàng)(DataItem):是組成數(shù)據(jù)元素的、有獨(dú)立含義的、不可分隔的最小單位。TKS15*

4、數(shù)據(jù)對(duì)象(DataObiect):性質(zhì)相同的數(shù)據(jù)元素的集合?!?.2.2數(shù)據(jù)結(jié)構(gòu)相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。

★北大許卓群等編著教材上的定義:按某種邏輯關(guān)系組織起來(lái)的一批數(shù)據(jù),按一定的存儲(chǔ)表示方式把它存儲(chǔ)到計(jì)算機(jī)的存儲(chǔ)器中,并在這些數(shù)據(jù)上定義了一個(gè)運(yùn)算的集合,叫做一個(gè)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)綜合三方面的內(nèi)容:數(shù)據(jù)的邏輯結(jié)構(gòu),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)及其運(yùn)算。且不涉及元素本身的內(nèi)容。1、邏輯結(jié)構(gòu)數(shù)據(jù)的邏輯結(jié)構(gòu)是從邏輯關(guān)條上描述數(shù)據(jù),它與數(shù)據(jù)的存儲(chǔ)無(wú)關(guān),是獨(dú)立于計(jì)箅機(jī)的。數(shù)據(jù)的邏輯結(jié)構(gòu)有兩個(gè)要素:一是數(shù)據(jù)元素;二是關(guān)系。

3、數(shù)據(jù)項(xiàng)(DataItem):是組成數(shù)據(jù)元素的、有獨(dú)立含集合:“同一集合”關(guān)系線(xiàn)性結(jié)構(gòu):一對(duì)一關(guān)系樹(shù)形結(jié)構(gòu):一對(duì)多關(guān)系圖狀或網(wǎng)狀結(jié)構(gòu):多對(duì)多關(guān)系(1)四類(lèi)基本結(jié)構(gòu)TKS16*

集合:“同一集合”關(guān)系線(xiàn)性結(jié)構(gòu):一對(duì)一關(guān)系樹(shù)形結(jié)構(gòu):一對(duì)多關(guān)數(shù)據(jù)的邏輯結(jié)構(gòu)線(xiàn)性結(jié)構(gòu)非線(xiàn)性結(jié)構(gòu)線(xiàn)性表樹(shù)結(jié)構(gòu)圖結(jié)構(gòu)一般線(xiàn)性表特殊線(xiàn)性表線(xiàn)性表的推廣樹(shù)二叉樹(shù)有向圖無(wú)向圖線(xiàn)性表?xiàng)Ec隊(duì)列字符串?dāng)?shù)組廣義表(2)幾種邏輯結(jié)構(gòu)層次圖TKS17*

數(shù)據(jù)的邏輯結(jié)構(gòu)線(xiàn)性結(jié)構(gòu)非線(xiàn)性結(jié)構(gòu)線(xiàn)性表樹(shù)結(jié)構(gòu)圖結(jié)構(gòu)一般線(xiàn)性表計(jì)算機(jī)科學(xué)與技術(shù)山東女馮子晗060214216150計(jì)算機(jī)科學(xué)與技術(shù)吉林女王詩(shī)萌060214215100計(jì)算機(jī)科學(xué)與技術(shù)福建男薛林06021420250計(jì)算機(jī)科學(xué)與技術(shù)安徽男楊陽(yáng)0602142010專(zhuān)業(yè)籍貫性別姓名學(xué)號(hào)地址2、存儲(chǔ)結(jié)構(gòu)

數(shù)據(jù)對(duì)象在計(jì)算機(jī)中的存儲(chǔ)表示稱(chēng)為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),也稱(chēng)為物理結(jié)構(gòu)。數(shù)據(jù)元素在計(jì)算機(jī)中有兩種基本的存儲(chǔ)結(jié)構(gòu),分別是順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。(1)順序存儲(chǔ)結(jié)構(gòu)順序存儲(chǔ)結(jié)構(gòu)是借助元素在存儲(chǔ)器中的相對(duì)位置來(lái)表示數(shù)據(jù)元素之間的邏輯關(guān)系,通常借助程序設(shè)計(jì)語(yǔ)言的數(shù)組類(lèi)型來(lái)描述。

學(xué)生基本信息表,對(duì)應(yīng)的順序存儲(chǔ)結(jié)構(gòu)如下。

TKS18*

計(jì)算機(jī)科學(xué)與技術(shù)山東女馮子晗060214216150計(jì)算機(jī)科(2)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

借助指示元素存儲(chǔ)地址的指針表示數(shù)據(jù)元素之間的邏輯關(guān)系。學(xué)生基本信息表,對(duì)應(yīng)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)如下。50計(jì)算機(jī)科學(xué)與技術(shù)吉林女王詩(shī)萌060214215150150計(jì)算機(jī)科學(xué)與技術(shù)福建男薛林060214202100^計(jì)算機(jī)科學(xué)與技術(shù)山東女馮子晗06021421650100計(jì)算機(jī)科學(xué)與技術(shù)安徽男楊陽(yáng)0602142010后繼結(jié)點(diǎn)的首地址專(zhuān)業(yè)籍貫性別

姓名學(xué)號(hào)地址060214201楊陽(yáng)男安徽計(jì)算機(jī)科學(xué)與技術(shù)TKS19*

060214202薛林男福建計(jì)算機(jī)科學(xué)與技術(shù)060214215王詩(shī)萌女吉林計(jì)算機(jī)科學(xué)與技術(shù)060214216馮子晗女山東計(jì)算機(jī)科學(xué)與技術(shù)^

更直觀的圖示表示如下:(2)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)借助指示元素存儲(chǔ)地址的指針表示§1.2.3數(shù)據(jù)類(lèi)型和抽象數(shù)據(jù)類(lèi)型

1、數(shù)據(jù)類(lèi)型(DataType)

是一個(gè)值的集合和定義在這個(gè)值集上的一組操作的總稱(chēng)。2、抽象數(shù)據(jù)類(lèi)型(AbstractDataType,ADT)

指由用戶(hù)定義的、表示應(yīng)用問(wèn)題的數(shù)學(xué)模型,以及定義在這個(gè)模型上的一組操作的總稱(chēng),具體包括三部分:數(shù)據(jù)對(duì)象,數(shù)據(jù)對(duì)象上關(guān)系的集合,以及對(duì)數(shù)據(jù)對(duì)象的基本操作的集合。

TKS20*

即:抽象數(shù)據(jù)類(lèi)型可以用以下的三元組來(lái)表示:

ADT=(D,S,P)數(shù)據(jù)對(duì)象D上的關(guān)系集D上的操作集§1.2.3數(shù)據(jù)類(lèi)型和抽象數(shù)據(jù)類(lèi)型1、數(shù)據(jù)類(lèi)型(Data抽象數(shù)據(jù)類(lèi)型的定義格式如下:

ADT抽象數(shù)據(jù)類(lèi)型名{數(shù)據(jù)對(duì)象:<數(shù)據(jù)對(duì)象的定義>

數(shù)據(jù)關(guān)系:<數(shù)據(jù)關(guān)系的定義>

基本操作:<基本操作的定義>}ADT抽象數(shù)據(jù)類(lèi)型名(變量)

基本操作的定義格式為:基本操作名(參數(shù)表)

初始條件:<初始條件描述>

操作結(jié)果:<操作結(jié)果描述>

參數(shù)兩種:賦值參數(shù):提供輸入引用參數(shù):以&打頭TKS21*

1.3抽象數(shù)據(jù)類(lèi)型的表示與實(shí)現(xiàn)抽象數(shù)據(jù)類(lèi)型獨(dú)立于具體實(shí)現(xiàn),將數(shù)據(jù)和操作封裝在一起,使得用戶(hù)程序只能通過(guò)抽象數(shù)據(jù)類(lèi)型定義的某些操作來(lái)訪(fǎng)問(wèn)其中的數(shù)據(jù),從而實(shí)現(xiàn)了信息隱藏。

抽象數(shù)據(jù)類(lèi)型和類(lèi)的概念實(shí)際上反映了程序或軟件設(shè)計(jì)的兩層抽象:抽象數(shù)據(jù)類(lèi)型相當(dāng)于在概念層(或稱(chēng)為抽象層)上描述問(wèn)題,而類(lèi)相當(dāng)于在實(shí)現(xiàn)層上描述問(wèn)題。

抽象數(shù)據(jù)類(lèi)型的定義格式如下:ADT抽象數(shù)據(jù)類(lèi)型名基本操作▲用類(lèi)C語(yǔ)言描述算法的說(shuō)明(P8—P9)例抽象數(shù)據(jù)類(lèi)型復(fù)數(shù)的表示與實(shí)現(xiàn)(1)定義部分:

ADTComplex{

數(shù)據(jù)對(duì)象:D={el,e2∣el,e2∈R,R是實(shí)數(shù)集}

數(shù)據(jù)關(guān)系:s={<e1,e2>∣el是復(fù)數(shù)的實(shí)部,e2是復(fù)數(shù)的虛部}

基本操作:

Creat(&C,x,y)

操作結(jié)果:構(gòu)造復(fù)數(shù)C,其實(shí)部和虛部分別被賦以參數(shù)x和y的值。

GetReal(C)

初始條件:復(fù)數(shù)C已存在。操作結(jié)果:返回復(fù)數(shù)C的實(shí)部值。TKS22*

▲用類(lèi)C語(yǔ)言描述算法的說(shuō)明(P8—P9)例抽象數(shù)據(jù)類(lèi)型復(fù)GetImag(C)

初始條件:復(fù)數(shù)C已存在。操作結(jié)果:返回復(fù)數(shù)C的虛部值。

Add(Cl,C2)

初始條件:Cl,C2是復(fù)數(shù)。操作結(jié)果:返回兩個(gè)復(fù)數(shù)Cl和C2的和。

Sub(Cl,C2)

初始條件:Cl,C2是復(fù)數(shù)。操作結(jié)果:返回兩個(gè)復(fù)數(shù)Cl和C2的差。}ADTComplex(2)表示部分:

typedefstruct{//復(fù)數(shù)類(lèi)型

floatRealpart;//實(shí)部

floatImagepart;//虛部

}Complex;TKS23*

GetImag(C)初始條件:復(fù)數(shù)C已存在。TKS(3)實(shí)現(xiàn)部分:voidCreat(&ComplexC,floatx,floaty){

//構(gòu)造一個(gè)復(fù)數(shù)

C.Realpart=x;C.Imagepart=y;

}floatGetReal(ComplexC){//取復(fù)數(shù)C=x+yi的實(shí)部

returnC.Realpart;}floatGetImag(ComplexC){//取復(fù)數(shù)C=x+yi的虛部

returnC.Imagepart;}TKS24*

(3)實(shí)現(xiàn)部分:voidCreat(&ComplexComplexAdd(ComplexCl,ComplexC2){//求兩個(gè)復(fù)數(shù)Cl和C2的和sum

Complexsum;sum.Realpart=Cl.Realpart+C2.Realpart;sum.Imagepart=Cl.Imagepart+C2.Imagepart;returnsum:}ComplexSub

(ComplexCl,ComplexC2){//求兩個(gè)復(fù)數(shù)Cl和C2 的差differenceComplexdifference;difference.Realpart=Cl.Realpart-C2.Realpart;difference.Imagepart=Cl.Imagepart-C2.Imagepart;returndifference;}TKS25*

ComplexAdd(ComplexCl,CompleTKS26*

五、作業(yè):書(shū)面作業(yè):P16:5

?TKS26*五、作業(yè):書(shū)面作業(yè):P16:5?(第一講)紹興文理學(xué)院計(jì)算機(jī)系計(jì)算機(jī)應(yīng)用教研室數(shù)據(jù)結(jié)構(gòu)(第一講)紹興文理學(xué)院計(jì)算機(jī)系計(jì)算機(jī)應(yīng)用教研室數(shù)據(jù)結(jié)構(gòu)TKS28為什么要學(xué)習(xí)

數(shù)據(jù)結(jié)構(gòu)?*

TKS2為什么要學(xué)習(xí)

數(shù)據(jù)結(jié)構(gòu)?*

起始課、第1章緒論(1)一、教學(xué)目的:明確數(shù)據(jù)結(jié)構(gòu)課程在自身發(fā)展、應(yīng)用等遠(yuǎn)景和本專(zhuān)業(yè)知識(shí)結(jié)構(gòu)中的地位、作用;明確課程的特點(diǎn)、教學(xué)要求、學(xué)習(xí)方法;明確數(shù)據(jù)結(jié)構(gòu)所研究的問(wèn)題以及有關(guān)基本概念;明確抽象數(shù)據(jù)類(lèi)型的概念和描述方法。

二、教學(xué)重點(diǎn):數(shù)據(jù)結(jié)構(gòu)課程在自身發(fā)展、應(yīng)用等遠(yuǎn)景和本專(zhuān)業(yè)知識(shí)結(jié)構(gòu)中的地位、作用;數(shù)據(jù)結(jié)構(gòu)所研究的問(wèn)題以及有關(guān)基本概念;抽象數(shù)據(jù)類(lèi)型。

三、教學(xué)難點(diǎn):理解數(shù)據(jù)結(jié)構(gòu)所研究的問(wèn)題;抽象數(shù)據(jù)類(lèi)型。

四、教學(xué)過(guò)程:起始課、第1章緒論(1)一、教學(xué)目的:明確數(shù)據(jù)結(jié)構(gòu)課TKS301、應(yīng)用、科學(xué)的思想和方法-自身發(fā)展及其遠(yuǎn)景的需要(1)“校園卡”買(mǎi)飯菜等§1.0為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)*

不同的查找主要用到數(shù)據(jù)的組織和查找。不同的數(shù)據(jù)的組織和查找效率是很不一樣的,不同的查找方法其效率相差百倍以上乃至千倍。這是數(shù)據(jù)的組織和查找問(wèn)題,在第7章中進(jìn)行討論。(2)打電話(huà)-存在0575和05758的城市電話(huà)區(qū)號(hào)嗎?

若存在,則057588341511是0575對(duì)應(yīng)城市下面的88341511還是05758對(duì)應(yīng)城市下面的8341511呢?程控電話(huà)如何處理?又:為什么北京的電話(huà)區(qū)號(hào)是010,而紹興的區(qū)號(hào)是0575?這是利用樹(shù)結(jié)構(gòu)的編碼問(wèn)題,在第5章中進(jìn)行討論。TKS41、應(yīng)用、科學(xué)的思想和方法-自身發(fā)展及其遠(yuǎn)景的需要§(3)高考分?jǐn)?shù)的排名-以便錄取在第8章中進(jìn)行討論。(4)快遞線(xiàn)路、運(yùn)費(fèi)最省、最短旅行線(xiàn)路等問(wèn)題TKS31*

在計(jì)算機(jī)系統(tǒng)軟件和應(yīng)用軟件中排序的使用頻度很高。然而不同的排序方法排序效率是很不一樣的。其排序效率相差百倍以上。不同的排序這是圖結(jié)構(gòu)問(wèn)題,在第6章中進(jìn)行討論。最短路徑(5)管線(xiàn)、道路連通的最少代價(jià)問(wèn)題這是圖結(jié)構(gòu)問(wèn)題,在第6章中進(jìn)行討論。

(6)工程計(jì)劃問(wèn)題

這是圖結(jié)構(gòu)問(wèn)題,在第6章中進(jìn)行討論。

關(guān)鍵路徑(3)高考分?jǐn)?shù)的排名-以便錄取3、是后續(xù)課程和軟件技術(shù)基礎(chǔ)的需要數(shù)據(jù)結(jié)構(gòu)是操作系統(tǒng)、軟件工程、計(jì)算機(jī)網(wǎng)絡(luò)、編譯原理、數(shù)據(jù)庫(kù)等信息技術(shù)相關(guān)專(zhuān)業(yè)主要課程的先修課程;是掌握一定的算法理論、數(shù)據(jù)組織和處理技術(shù)、提高編程技能和提高實(shí)踐動(dòng)手能力需要。4、是培養(yǎng)科學(xué)的思想和方法,整體把握利用計(jì)算機(jī)解決問(wèn)題的需要

有人設(shè)想將常用的數(shù)千個(gè)漢字進(jìn)行全排列,用這些字寫(xiě)出的不朽詩(shī)篇,名言佳句將都在其中了。

每年按365天,每天24小時(shí),每小時(shí)3600秒,對(duì)于每秒能生成108個(gè)排列的超高速電子計(jì)算機(jī),即使一年到頭從不休息地工作也需要:3.04×1064/(365×24×3600×108)≈9.64×1049

(年)。所以有些問(wèn)題是計(jì)算機(jī)根本不能解決的。

但就當(dāng)n=50時(shí),有n!≈3.041064,(7)問(wèn)題規(guī)模的判斷-時(shí)間和空間復(fù)雜度問(wèn)題TKS32*

算法復(fù)雜度2、是考研的需要3、是后續(xù)課程和軟件技術(shù)基礎(chǔ)的需要有人設(shè)想將常用的數(shù)(1)現(xiàn)實(shí)世界:現(xiàn)實(shí)中的事物和問(wèn)題。

(2)信息世界:把現(xiàn)實(shí)世界中的事物和問(wèn)題經(jīng)過(guò)分析、抽象、歸納、整理后得到的邏輯意義上的事物和問(wèn)題的數(shù)據(jù)和數(shù)據(jù)關(guān)系。

(3)機(jī)器世界:把信息世界里的數(shù)據(jù)和數(shù)據(jù)關(guān)系,組織并存儲(chǔ)到計(jì)算機(jī)里,通過(guò)計(jì)算機(jī)來(lái)處理事物和解決問(wèn)題。6、計(jì)算機(jī)求解問(wèn)題的步驟:

實(shí)際問(wèn)題問(wèn)題模型機(jī)器模型求解算法編制程序問(wèn)題實(shí)現(xiàn)分析抽象分析歸納模型求解命令編程調(diào)試程序5、三個(gè)世界TKS33*

數(shù)據(jù)結(jié)構(gòu)是三個(gè)世界的紐帶數(shù)據(jù)結(jié)構(gòu)的知識(shí)和技能對(duì)現(xiàn)實(shí)世界的分析到信息世界提供直接而重要的幫助,結(jié)合編程工具,實(shí)現(xiàn)由信息世界到機(jī)器世界的轉(zhuǎn)換,是實(shí)現(xiàn)用計(jì)算機(jī)來(lái)解決問(wèn)題強(qiáng)有力的支撐。(1)現(xiàn)實(shí)世界:現(xiàn)實(shí)中的事物和問(wèn)題。6、計(jì)算機(jī)求解問(wèn)題的

§1.1數(shù)據(jù)結(jié)構(gòu)的研究?jī)?nèi)容

數(shù)據(jù)結(jié)構(gòu)主要研究非數(shù)值計(jì)算問(wèn)題,非數(shù)值計(jì)算問(wèn)題無(wú)法用數(shù)學(xué)方程建立數(shù)學(xué)模型。

例1書(shū)目自動(dòng)檢索系統(tǒng)登錄號(hào):書(shū)名:作者名:分類(lèi)號(hào):出版單位:出版時(shí)間:價(jià)格:書(shū)目卡片書(shū)目文件按書(shū)名按作者名按分類(lèi)號(hào)索引表線(xiàn)性表1、數(shù)據(jù)結(jié)構(gòu)的研究?jī)?nèi)容001高等數(shù)學(xué)樊映川S01002理論力學(xué)羅遠(yuǎn)祥L(zhǎng)01003高等數(shù)學(xué)華羅庚S01004線(xiàn)性代數(shù)欒汝書(shū)S02………………………………004,…線(xiàn)性代數(shù)002,…理論力學(xué)001,003,…高等數(shù)學(xué)…………004,…欒汝書(shū)002,…華羅庚001,…樊映川…………001,003,…S002,…LTKS34*

§1.1數(shù)據(jù)結(jié)構(gòu)的研究?jī)?nèi)容數(shù)據(jù)結(jié)構(gòu)主要研究例2人機(jī)對(duì)弈問(wèn)題

………………………………樹(shù)TKS35*

例2人機(jī)對(duì)弈問(wèn)題………………樹(shù)TKS9*TKS36

“深藍(lán)”與卡斯帕羅夫?qū)?/p>

▲國(guó)際象棋棋盤(pán)有64格,每方有16個(gè)子。棋手在思考下一步棋時(shí)大約有35種合法選擇。

▲目前最好的國(guó)際象棋程序可以分析到七八個(gè)回合,若要求電腦能思考到第七個(gè)回合,即14步棋,則需要有3514種可能的結(jié)局。

▲下棋程序靠的是基本的行棋知識(shí)和強(qiáng)大無(wú)比的檢索演算能力。這種信息檢索選擇方式好比一棵樹(shù);共有35個(gè)枝干,每個(gè)枝干有35個(gè)樹(shù)叉,…,最終到樹(shù)葉,即可供選擇的結(jié)果。越好的程序,所派生的樹(shù)枝樹(shù)叉就越多。

▲一般來(lái)講,電腦每下一步棋,仍需有500億或600億種選擇。TKS10“深藍(lán)”與卡斯帕羅夫?qū)摹鴩?guó)際象棋棋盤(pán)例3文件系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖TKS37*

binlibuseretcmathdsswtaoyinxieStack.cppTree.cppQueue.cpp/(root)樹(shù)例3文件系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖TKS11*binlibuserv1v2v3v4v5v6105666107121015

v5

v1

v2

v3

v4

v6

例4最短管道連通問(wèn)題

TKS38*

圖2、課程的地位和性質(zhì)沃思(N.Wirth)的一個(gè)著名公式:

數(shù)據(jù)結(jié)構(gòu)+算法=程序(獲1984年計(jì)算圖靈獎(jiǎng))。(1)地位:計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)等信息類(lèi)專(zhuān)業(yè)的核心課程;信息類(lèi)軟件方向碩士研究生入學(xué)考的必考科目。(2)性質(zhì):算法設(shè)計(jì)基礎(chǔ)和軟件技術(shù)的重要專(zhuān)業(yè)理論與技術(shù)基礎(chǔ)課。v1v2v3v4v5v6105666107121015v5

3、數(shù)據(jù)結(jié)構(gòu)的產(chǎn)生和發(fā)展

為了研究數(shù)據(jù)的特性,數(shù)據(jù)之間的關(guān)系,數(shù)據(jù)的存儲(chǔ)表示及其算法等,發(fā)展了數(shù)據(jù)結(jié)構(gòu)。國(guó)外從1968年開(kāi)始作為一門(mén)獨(dú)立的課程。

1968年美國(guó)唐·歐·克努特教授開(kāi)創(chuàng)了數(shù)據(jù)結(jié)構(gòu)的最初體系,他所著的《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》第一卷(基本算法)是第一本較系統(tǒng)地闡述數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)及其操作的著作。4、課程學(xué)習(xí)的特點(diǎn)和要求(1)課程學(xué)習(xí)的特點(diǎn):我們學(xué)習(xí)的是基礎(chǔ)的、常用的和比較成熟的基本數(shù)據(jù)結(jié)構(gòu),目的是掌握這些數(shù)據(jù)結(jié)構(gòu)及算法并付之應(yīng)用。(2)課程學(xué)習(xí)要求:

樹(shù)立學(xué)好的信心,上課注意聽(tīng),課前預(yù)習(xí),課后復(fù)習(xí),加強(qiáng)分析,多上機(jī)練習(xí),多問(wèn),獨(dú)立完成作業(yè)及上機(jī)實(shí)驗(yàn)。(3)課程網(wǎng)站:(4)師生互動(dòng)中的用戶(hù)名:學(xué)號(hào),密碼:XXXXTKS39*

3、數(shù)據(jù)結(jié)構(gòu)的產(chǎn)生和發(fā)展為了研究數(shù)據(jù)的特性(5)教材:《數(shù)據(jù)結(jié)構(gòu)》(C語(yǔ)言版)嚴(yán)蔚敏等編著人民郵電出版社2011年

參考書(shū):《數(shù)據(jù)結(jié)構(gòu)》(C語(yǔ)言版)嚴(yán)蔚敏等編著清華大學(xué)出版社1997年

《數(shù)據(jù)結(jié)構(gòu)》許卓群等編著高等教育出版社1987年

《數(shù)據(jù)結(jié)構(gòu)題集》嚴(yán)蔚敏等編著北京清華大學(xué)出版社1999年

《數(shù)據(jù)結(jié)構(gòu)》(C語(yǔ)言篇)-習(xí)題與解析李春葆編著清華大學(xué)出版社2002年

《數(shù)據(jù)結(jié)構(gòu)》唐策善等編著高等教育出版社1996年§1.2基本概念和術(shù)語(yǔ)§1.2.1數(shù)據(jù)、數(shù)據(jù)元素、數(shù)據(jù)項(xiàng)和數(shù)據(jù)對(duì)象1、數(shù)據(jù)(Data):能輸入到計(jì)算機(jī)并被計(jì)算機(jī)程序處理的符號(hào)總稱(chēng)。2、數(shù)據(jù)元素(DataElement):數(shù)據(jù)的基本單位,可以是若干個(gè)數(shù)據(jù)項(xiàng)(最小單位)組成。通常作為一個(gè)整體進(jìn)行考慮和處理。TKS40*

(5)教材:《數(shù)據(jù)結(jié)構(gòu)》(C語(yǔ)言版)嚴(yán)蔚敏等編著人民郵3、數(shù)據(jù)項(xiàng)(DataItem):是組成數(shù)據(jù)元素的、有獨(dú)立含義的、不可分隔的最小單位。TKS41*

4、數(shù)據(jù)對(duì)象(DataObiect):性質(zhì)相同的數(shù)據(jù)元素的集合?!?.2.2數(shù)據(jù)結(jié)構(gòu)相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。

★北大許卓群等編著教材上的定義:按某種邏輯關(guān)系組織起來(lái)的一批數(shù)據(jù),按一定的存儲(chǔ)表示方式把它存儲(chǔ)到計(jì)算機(jī)的存儲(chǔ)器中,并在這些數(shù)據(jù)上定義了一個(gè)運(yùn)算的集合,叫做一個(gè)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)綜合三方面的內(nèi)容:數(shù)據(jù)的邏輯結(jié)構(gòu),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)及其運(yùn)算。且不涉及元素本身的內(nèi)容。1、邏輯結(jié)構(gòu)數(shù)據(jù)的邏輯結(jié)構(gòu)是從邏輯關(guān)條上描述數(shù)據(jù),它與數(shù)據(jù)的存儲(chǔ)無(wú)關(guān),是獨(dú)立于計(jì)箅機(jī)的。數(shù)據(jù)的邏輯結(jié)構(gòu)有兩個(gè)要素:一是數(shù)據(jù)元素;二是關(guān)系。

3、數(shù)據(jù)項(xiàng)(DataItem):是組成數(shù)據(jù)元素的、有獨(dú)立含集合:“同一集合”關(guān)系線(xiàn)性結(jié)構(gòu):一對(duì)一關(guān)系樹(shù)形結(jié)構(gòu):一對(duì)多關(guān)系圖狀或網(wǎng)狀結(jié)構(gòu):多對(duì)多關(guān)系(1)四類(lèi)基本結(jié)構(gòu)TKS42*

集合:“同一集合”關(guān)系線(xiàn)性結(jié)構(gòu):一對(duì)一關(guān)系樹(shù)形結(jié)構(gòu):一對(duì)多關(guān)數(shù)據(jù)的邏輯結(jié)構(gòu)線(xiàn)性結(jié)構(gòu)非線(xiàn)性結(jié)構(gòu)線(xiàn)性表樹(shù)結(jié)構(gòu)圖結(jié)構(gòu)一般線(xiàn)性表特殊線(xiàn)性表線(xiàn)性表的推廣樹(shù)二叉樹(shù)有向圖無(wú)向圖線(xiàn)性表?xiàng)Ec隊(duì)列字符串?dāng)?shù)組廣義表(2)幾種邏輯結(jié)構(gòu)層次圖TKS43*

數(shù)據(jù)的邏輯結(jié)構(gòu)線(xiàn)性結(jié)構(gòu)非線(xiàn)性結(jié)構(gòu)線(xiàn)性表樹(shù)結(jié)構(gòu)圖結(jié)構(gòu)一般線(xiàn)性表計(jì)算機(jī)科學(xué)與技術(shù)山東女馮子晗060214216150計(jì)算機(jī)科學(xué)與技術(shù)吉林女王詩(shī)萌060214215100計(jì)算機(jī)科學(xué)與技術(shù)福建男薛林06021420250計(jì)算機(jī)科學(xué)與技術(shù)安徽男楊陽(yáng)0602142010專(zhuān)業(yè)籍貫性別姓名學(xué)號(hào)地址2、存儲(chǔ)結(jié)構(gòu)

數(shù)據(jù)對(duì)象在計(jì)算機(jī)中的存儲(chǔ)表示稱(chēng)為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),也稱(chēng)為物理結(jié)構(gòu)。數(shù)據(jù)元素在計(jì)算機(jī)中有兩種基本的存儲(chǔ)結(jié)構(gòu),分別是順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。(1)順序存儲(chǔ)結(jié)構(gòu)順序存儲(chǔ)結(jié)構(gòu)是借助元素在存儲(chǔ)器中的相對(duì)位置來(lái)表示數(shù)據(jù)元素之間的邏輯關(guān)系,通常借助程序設(shè)計(jì)語(yǔ)言的數(shù)組類(lèi)型來(lái)描述。

學(xué)生基本信息表,對(duì)應(yīng)的順序存儲(chǔ)結(jié)構(gòu)如下。

TKS44*

計(jì)算機(jī)科學(xué)與技術(shù)山東女馮子晗060214216150計(jì)算機(jī)科(2)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

借助指示元素存儲(chǔ)地址的指針表示數(shù)據(jù)元素之間的邏輯關(guān)系。學(xué)生基本信息表,對(duì)應(yīng)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)如下。50計(jì)算機(jī)科學(xué)與技術(shù)吉林女王詩(shī)萌060214215150150計(jì)算機(jī)科學(xué)與技術(shù)福建男薛林060214202100^計(jì)算機(jī)科學(xué)與技術(shù)山東女馮子晗06021421650100計(jì)算機(jī)科學(xué)與技術(shù)安徽男楊陽(yáng)0602142010后繼結(jié)點(diǎn)的首地址專(zhuān)業(yè)籍貫性別

姓名學(xué)號(hào)地址060214201楊陽(yáng)男安徽計(jì)算機(jī)科學(xué)與技術(shù)TKS45*

060214202薛林男福建計(jì)算機(jī)科學(xué)與技術(shù)060214215王詩(shī)萌女吉林計(jì)算機(jī)科學(xué)與技術(shù)060214216馮子晗女山東計(jì)算機(jī)科學(xué)與技術(shù)^

更直觀的圖示表示如下:(2)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)借助指示元素存儲(chǔ)地址的指針表示§1.2.3數(shù)據(jù)類(lèi)型和抽象數(shù)據(jù)類(lèi)型

1、數(shù)據(jù)類(lèi)型(DataType)

是一個(gè)值的集合和定義在這個(gè)值集上的一組操作的總稱(chēng)。2、抽象數(shù)據(jù)類(lèi)型(AbstractDataType,ADT)

指由用戶(hù)定義的、表示應(yīng)用問(wèn)題的數(shù)學(xué)模型,以及定義在這個(gè)模型上的一組操作的總稱(chēng),具體包括三部分:數(shù)據(jù)對(duì)象,數(shù)據(jù)對(duì)象上關(guān)系的集合,以及對(duì)數(shù)據(jù)對(duì)象的基本操作的集合。

TKS46*

即:抽象數(shù)據(jù)類(lèi)型可以用以下的三元組來(lái)表示:

ADT=(D,S,P)數(shù)據(jù)對(duì)象D上的關(guān)系集D上的操作集§1.2.3數(shù)據(jù)類(lèi)型和抽象數(shù)據(jù)類(lèi)型1、數(shù)據(jù)類(lèi)型(Data抽象數(shù)據(jù)類(lèi)型的定義格式如下:

ADT抽象數(shù)據(jù)類(lèi)型名{數(shù)據(jù)對(duì)象:<數(shù)據(jù)對(duì)象的定義>

數(shù)據(jù)關(guān)系:<數(shù)據(jù)關(guān)系的定義>

基本操作:<基本操作的定義>}ADT抽象數(shù)據(jù)類(lèi)型名(變量)

基本操作的定義格式為:基本操作名(參數(shù)表)

初始條件:<初始條件描述>

操作結(jié)果:<操作結(jié)果描述>

參數(shù)兩種:賦值參數(shù):提供輸入引用參數(shù):以&打頭TKS47*

1.3抽象數(shù)據(jù)類(lèi)型的表示與實(shí)現(xiàn)抽象數(shù)據(jù)類(lèi)型獨(dú)立于具體實(shí)現(xiàn),將數(shù)據(jù)和操作封裝在一起,使得用戶(hù)程序只能通過(guò)抽象數(shù)據(jù)類(lèi)型定義的某些操作來(lái)訪(fǎng)問(wèn)其中的數(shù)據(jù),從而實(shí)現(xiàn)了信息隱藏。

抽象數(shù)據(jù)類(lèi)型和類(lèi)的概念實(shí)際上反映了程序或軟件設(shè)計(jì)的兩層抽象:抽象數(shù)據(jù)類(lèi)型相當(dāng)于在概念層(或稱(chēng)為抽象層)上描述問(wèn)題,而類(lèi)相當(dāng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論