六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學(xué)習(xí)啦 > 知識大全 > 知識百科 > 百科知識 > 數(shù)據(jù)結(jié)構(gòu)詳細(xì)簡介

數(shù)據(jù)結(jié)構(gòu)詳細(xì)簡介

時間: 謝君787 分享

數(shù)據(jù)結(jié)構(gòu)詳細(xì)簡介

  數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合,那么你對數(shù)據(jù)結(jié)構(gòu)了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是數(shù)據(jù)結(jié)構(gòu)的內(nèi)容,希望大家喜歡!

  數(shù)據(jù)結(jié)構(gòu)的定義

  名詞定義

  數(shù)據(jù)結(jié)構(gòu)是指相互之間存在著一種或多種關(guān)系的數(shù)據(jù)元素的集合和該集合中數(shù)據(jù)元素之間的關(guān)系組成。記為:

  Data_Structure=(D,R)

  其中D是數(shù)據(jù)元素的集合,R是該集合中所有元素之間的關(guān)系的有限集合。

  其它定義

  Sartaj Sahni在他的《數(shù)據(jù)結(jié)構(gòu)、算法與應(yīng)用》一書中稱:“數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)對象,以及存在于該對象的實例和組成實 例的數(shù)據(jù)元素之間的各種聯(lián)系。這些聯(lián)系可以通過定義相關(guān)的函數(shù)來給出。”他將數(shù)據(jù)對象(data object)定義為“一個數(shù)據(jù)對象是實例或值的集合”。

  Clifford A.Shaffer在《數(shù)據(jù)結(jié)構(gòu)與算法分析》一書中的定義是:“數(shù)據(jù)結(jié)構(gòu)是ADT(抽象數(shù)據(jù)類型Abstract Data Type) 的物理實現(xiàn)。”

  Robert L.Kruse在《數(shù)據(jù)結(jié)構(gòu)與程序設(shè)計》一書中,將一個數(shù)據(jù)結(jié)構(gòu)的設(shè)計過程分成抽象層、數(shù)據(jù)結(jié)構(gòu)層和實現(xiàn)層。其中,抽象層是指抽象數(shù)據(jù)類型層,它討論數(shù)據(jù)的邏輯結(jié)構(gòu)及其運算,數(shù)據(jù)結(jié)構(gòu)層和實現(xiàn)層討論一個數(shù)據(jù)結(jié)構(gòu)的表示和在計算機內(nèi)的存儲細(xì)節(jié)以及運算的實現(xiàn)。

  數(shù)據(jù)結(jié)構(gòu)具體指同一類數(shù)據(jù)元素中,各元素之間的相互關(guān)系,包括三個組成成分,數(shù)據(jù)的邏輯結(jié)構(gòu),數(shù)據(jù)的存儲結(jié)構(gòu)和數(shù)據(jù)運算結(jié)構(gòu)。

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

  在計算機科學(xué)中,數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計算的程序設(shè)計問題中計算機的操作對象(數(shù)據(jù)元素)以及它們之間的關(guān)系和運算等的學(xué)科,而且確保經(jīng)過這些運算后所得到的新結(jié)構(gòu)仍然是原來的結(jié)構(gòu)類型。

  “數(shù)據(jù)結(jié)構(gòu)”作為一門獨立的課程在國外是從1968年才開始設(shè)立的。 1968年美國唐納德·克努特(Donald Ervin Knuth)教授開創(chuàng)了數(shù)據(jù)結(jié)構(gòu)的最初體系,他所著的《計算機程序設(shè)計藝術(shù)》第一卷《基本算法》是第一本較系統(tǒng)地闡述數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)及其操作的著作。“數(shù)據(jù)結(jié)構(gòu)”在計算機科學(xué)中是一門綜合性的專業(yè)基礎(chǔ)課,數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計算機硬件和計算機軟件三者之間的一門核心課程。數(shù)據(jù)結(jié)構(gòu)這一門課的內(nèi)容不僅是一般程序設(shè)計(特別是非數(shù)值性程序設(shè)計)的基礎(chǔ),而且是設(shè)計和實現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其他系統(tǒng)程序的重要基礎(chǔ)。

  計算機科學(xué)是一門研究用計算機進(jìn)行信息表示和處理的科學(xué)。這里面涉及到兩個問題:信息的表示,信息的處理 。

  而信息的表示和組織又直接關(guān)系到處理信息的程序的效率。隨著計算機的普及,信息量的增加,信息范圍的拓寬,使許多系統(tǒng)程序和應(yīng)用程序的規(guī)模很大,結(jié)構(gòu)又相當(dāng)復(fù)雜。因此,為了編寫出一個“好”的程序,必須分析待處理的對象的特征及各對象之間存在的關(guān)系,這就是數(shù)據(jù)結(jié)構(gòu)這門課所要研究的問題。眾所周知,計算機的程序是對信息進(jìn)行加工處理。在大多數(shù)情況下,這些信息并不是沒有組織,信息(數(shù)據(jù))之間往往具有重要的結(jié)構(gòu)關(guān)系,這就是數(shù)據(jù)結(jié)構(gòu)的內(nèi)容。數(shù)據(jù)的結(jié)構(gòu),直接影響算法的選擇和效率。

  計算機解決一個具體問題時,大致需要經(jīng)過下列幾個步驟:首先要從具體問題中抽象出一個適當(dāng)?shù)臄?shù)學(xué)模型,然后設(shè)計一個解此數(shù)學(xué)模型的算法(Algorithm),最后編出程序、進(jìn)行測試、調(diào)整直至得到最終解答。

  尋求數(shù)學(xué)模型的實質(zhì)是分析問題,從中提取操作的對象,并找出這些操作對象之間含有的關(guān)系,然后用數(shù)學(xué)的語言加以描述。當(dāng)人們用計算機處理數(shù)值計算問題是,所用的數(shù)學(xué)模型是用數(shù)學(xué)方程描述。所涉及的運算對象一般是簡單的整形、實型和邏輯型數(shù)據(jù),因此程序設(shè)計者的主要精力集中于程序設(shè)計技巧上,而不是數(shù)據(jù)的存儲和組織上。然而,計算機應(yīng)用的更多領(lǐng)域是“非數(shù)值型計算問題”,它們的數(shù)學(xué)模型無法用數(shù)學(xué)方程描述,而是用數(shù)據(jù)結(jié)構(gòu)描述,解決此類問題的關(guān)鍵是設(shè)計出合適的數(shù)據(jù)結(jié)構(gòu),描述非數(shù)值型問題的數(shù)學(xué)模型是用線性表、樹、圖等結(jié)構(gòu)來描述的。

  計算機算法與數(shù)據(jù)的結(jié)構(gòu)密切相關(guān),算法無不依附于具體的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)直接關(guān)系到算法的選擇和效率。運算是由計算機來完成,這就要設(shè)計相應(yīng)的插入、刪除和修改的算法 。也就是說,數(shù)據(jù)結(jié)構(gòu)還需要給出每種結(jié)構(gòu)類型所定義的各種運算的算法。

  數(shù)據(jù)是信息的載體,是可以被計算機識別存儲并加工處理的描述客觀事物的信息符號的總稱。所有能被輸入計算機中,且能被計算機處理的符號的集合,它是計算機程序加工處理的對象??陀^事物包括數(shù)值、字符、聲音、圖形、圖像等,它們本身并不是數(shù)據(jù),只有通過編碼變成能被計算機識別、存儲和處理的符號形式后才是數(shù)據(jù)。

  數(shù)據(jù)元素是數(shù)據(jù)的基本單位,在計算機程序中通常作為一個整體考慮。一個數(shù)據(jù)元素由若干個數(shù)據(jù)項組成。數(shù)據(jù)項是數(shù)據(jù)結(jié)構(gòu)中討論的最小單位。有兩類數(shù)據(jù)元素:若數(shù)據(jù)元素可再分,則每一個獨立的處理單元就是數(shù)據(jù)項,數(shù)據(jù)元素是數(shù)據(jù)項的集合;若數(shù)據(jù)元素不可再分,則數(shù)據(jù)元素和數(shù)據(jù)項是同一概念,如:整數(shù)"5",字符 "N" 等。例如描述一個學(xué)生的信息的數(shù)據(jù)元素可由下列6個數(shù)據(jù)項組成。其中的出生日期又可以由三個數(shù)據(jù)項:"年"、"月"和"日"組成,則稱"出生日期"為組合項,而其它不可分割的數(shù)據(jù)項為原子項。

  關(guān)鍵字指的是能識別一個或多個數(shù)據(jù)元素的數(shù)據(jù)項。若能起唯一識別作用,則稱之為 "主" 關(guān)鍵字,否則稱之為 "次" 關(guān)鍵字。

  數(shù)據(jù)對象是性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)的一個子集。數(shù)據(jù)對象可以是有限的,也可以是無限的。

  數(shù)據(jù)處理是指對數(shù)據(jù)進(jìn)行查找、插入、刪除、合并、排序、統(tǒng)計以及簡單計算等的操作過程。在早期,計算機主要用于科學(xué)和工程計算,進(jìn)入八十年代以后,計算機主要用于數(shù)據(jù)處理。據(jù)有關(guān)統(tǒng)計資料表明,計算機用于數(shù)據(jù)處理的時間比例達(dá)到80%以上,隨著時間的推移和計算機應(yīng)用的進(jìn)一步普及,計算機用于數(shù)據(jù)處理的時間比例必將進(jìn)一步增大。

  數(shù)據(jù)結(jié)構(gòu)的分類

  數(shù)據(jù)結(jié)構(gòu)是指同一數(shù)據(jù)元素類中各數(shù)據(jù)元素之間存在的關(guān)系。數(shù)據(jù)結(jié)構(gòu)分別為邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)(物理結(jié)構(gòu))和數(shù)據(jù)的運算。數(shù)據(jù)的邏輯結(jié)構(gòu)是從具體問題抽象出來的數(shù)學(xué)模型,是描述數(shù)據(jù)元素及其關(guān)系的數(shù)學(xué)特性的,有時就把邏輯結(jié)構(gòu)簡稱為數(shù)據(jù)結(jié)構(gòu)。邏輯結(jié)構(gòu)是在計算機存儲中的映像,形式地定義為(K,R)(或(D,S)),其中,K是數(shù)據(jù)元素的有限集,R是K上的關(guān)系的有限集。

  根據(jù)數(shù)據(jù)元素間關(guān)系的不同特性,通常有下列四類基本的結(jié)構(gòu): ⑴集合結(jié)構(gòu)。該結(jié)構(gòu)的數(shù)據(jù)元素間的關(guān)系是“屬于同一個集合”。 線性結(jié)構(gòu)。該結(jié)構(gòu)的數(shù)據(jù)元素之間存在著一對一的關(guān)系。 ⑶樹型結(jié)構(gòu)。該結(jié)構(gòu)的數(shù)據(jù)元素之間存在著一對多的關(guān)系。 ⑷圖形結(jié)構(gòu)。該結(jié)構(gòu)的數(shù)據(jù)元素之間存在著多對多的關(guān)系,也稱網(wǎng)狀結(jié)構(gòu)。 從上面所介紹的數(shù)據(jù)結(jié)構(gòu)的概念中可以知道,一個數(shù)據(jù)結(jié)構(gòu)有兩個要素。一個是數(shù)據(jù)元素的集合,另一個是關(guān)系的集合。在形式上,數(shù)據(jù)結(jié)構(gòu)通??梢圆捎靡粋€二元組來表示。

  數(shù)據(jù)結(jié)構(gòu)的形式定義為:數(shù)據(jù)結(jié)構(gòu)是一個二元組 :Data_Structure=(D,R),其中,D是數(shù)據(jù)元素的有限集,R是D上關(guān)系的有限集。線性結(jié)構(gòu)的特點是數(shù)據(jù)元素之間是一種線性關(guān)系,數(shù)據(jù)元素“一個接一個的排列”。在一個線性表中數(shù)據(jù)元素的類型是相同的,或者說線性表是由同一類型的數(shù)據(jù)元素構(gòu)成的線性結(jié)構(gòu)。在實際問題中線性表的例子是很多的,如學(xué)生情況信息表是一個線性表:表中數(shù)據(jù)元素的類型為學(xué)生類型; 一個字符串也是一個線性表:表中數(shù)據(jù)元素的類型為字符型,等等。

  線性表是最簡單、最基本、也是最常用的一種線性結(jié)構(gòu)。 線性表是具有相同數(shù)據(jù)類型的n(n>=0)個數(shù)據(jù)元素的有限序列,通常記為: (a1,a2,… ai-1,ai,ai+1,…an) ,其中n為表長, n=0 時稱為空表。 它有兩種存儲方法:順序存儲和鏈?zhǔn)酱鎯?,它的主要基本操作是插入、刪除和檢索等。

  數(shù)據(jù)結(jié)構(gòu)在計算機中的表示(映像)稱為數(shù)據(jù)的物理(存儲)結(jié)構(gòu)。它包括數(shù)據(jù)元素的表示和關(guān)系的表示。數(shù)據(jù)元素之間的關(guān)系有兩種不同的表示方法:順序映象和非順序映象,并由此得到兩種不同的存儲結(jié)構(gòu):順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)。

  順序存儲方法:它是把邏輯上相鄰的結(jié)點存儲在物理位置相鄰的存儲單元里,結(jié)點間的邏輯關(guān)系由存儲單元的鄰接關(guān)系來體現(xiàn),由此得到的存儲表示稱為順序存儲結(jié)構(gòu)。順序存儲結(jié)構(gòu)是一種最基本的存儲表示方法,通常借助于程序設(shè)計語言中的數(shù)組來實現(xiàn)。

  鏈接存儲方法:它不要求邏輯上相鄰的結(jié)點在物理位置上亦相鄰,結(jié)點間的邏輯關(guān)系是由附加的指針字段表示的。由此得到的存儲表示稱為鏈?zhǔn)酱鎯Y(jié)構(gòu),鏈?zhǔn)酱鎯Y(jié)構(gòu)通常借助于程序設(shè)計語言中的指針類型來實現(xiàn)

  索引存儲方法:除建立存儲結(jié)點信息外,還建立附加的索引表來標(biāo)識結(jié)點的地址。

  散列存儲方法:就是根據(jù)結(jié)點的關(guān)鍵字直接計算出該結(jié)點的存儲地址。

  數(shù)據(jù)結(jié)構(gòu)中,邏輯上(邏輯結(jié)構(gòu):數(shù)據(jù)元素之間的邏輯關(guān)系)可以把數(shù)據(jù)結(jié)構(gòu)分成線性結(jié)構(gòu)和非線性結(jié)構(gòu)。線性結(jié)構(gòu)的順序存儲結(jié)構(gòu)是一種順序存取的存儲結(jié)構(gòu),線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)是一種隨機存取的存儲結(jié)構(gòu)。線性表若采用鏈?zhǔn)酱鎯Ρ硎緯r所有結(jié)點之間的存儲單元地址可連續(xù)可不連續(xù)。邏輯結(jié)構(gòu)與數(shù)據(jù)元素本身的形式、內(nèi)容、相對位置、所含結(jié)點個數(shù)都無關(guān)。
看過“數(shù)據(jù)結(jié)構(gòu)的簡介”的人還看了:

1.數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會3篇

2.什么是數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫設(shè)計的步驟

3.什么是數(shù)據(jù)庫 數(shù)據(jù)庫的結(jié)構(gòu)

4.數(shù)據(jù)結(jié)構(gòu)課程設(shè)計心得體會

5.產(chǎn)品運營個人簡歷免費模板

6.軟件測試試題答案

2182604