資料結構都有哪些結構,資料結構都有哪些分類呢?

2021-05-02 16:11:14 字數 6135 閱讀 2278

1樓:匿名使用者

常用資料結構

陣列 (array)

在程式設計中,為了處理方便, 把具有相同型別的若干變數按有序的形式組織起來。這些按序排列的同類資料元素的集合稱為陣列。在c語言中, 陣列屬於構造資料型別。

一個陣列可以分解為多個陣列元素,這些陣列元素可以是基本資料型別或是構造型別。因此按陣列元素的型別不同,陣列又可分為數值陣列、字元陣列、指標陣列、結構陣列等各種類別。

棧 (stack)

是只能在某一端插入和刪除的特殊線性表。它按照後進先出的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料(最後一個資料被第一個讀出來)。

佇列 (queue)

一種特殊的線性表,它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。

連結串列 (linked list)

是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過連結串列中的指標連結次序實現的。連結串列由一系列結點(連結串列中每一個元素稱為結點)組成,結點可以在執行時動態生成。每個結點包括兩個部分:

一個是儲存資料元素的資料域,另一個是儲存下一個結點地址的指標域。

樹 (tree)

是包含n(n>0)個結點的有窮集合k,且在k中定義了一個關係n,n滿足 以下條件:

(1)有且僅有一個結點 k0,他對於關係n來說沒有前驅,稱k0為樹的根結點。簡稱為根(root)。 (2)除k0外,k中的每個結點,對於關係n來說有且僅有一個前驅。

(3)k中各結點,對關係n來說可以有m個後繼(m>=0)。

圖 (graph)

圖是由結點的有窮集合v和邊的集合e組成。其中,為了與樹形結構加以區別,在圖結構中常常將結點稱為頂點,邊是頂點的有序偶對,若兩個頂點之間存在一條邊,就表示這兩個頂點具有相鄰關係。

堆 (heap)

在電腦科學中,堆是一種特殊的樹形資料結構,每個結點都有一個值。通常我們所說的堆的資料結構,是指二叉堆。堆的特點是根結點的值最小(或最大),且根結點的兩個子樹也是一個堆。

雜湊表 (hash)

若結構中存在關鍵字和k相等的記錄,則必定在f(k)的儲存位置上。由此,不需比較便可直接取得所查記錄。稱這個對應關係f為雜湊函式(hash function),按這個思想建立的表為雜湊表。

2樓:匿名使用者

資料結構分別為邏輯結構、儲存結構(物理結構)邏輯結構又分為四類基本結構:集合、線性結構、樹形結構、圖狀結構(網狀結構)

儲存結構(物理結構)又分為順序儲存結構和鏈式儲存結構。

資料結構中,邏輯上(邏輯結構:資料元素之間的邏輯關係)可以把資料結構分成線性結構和非線性結構

資料結構都有哪些分類呢?

3樓:匿名使用者

集合。2.線性結構。3.樹形結構。4.圖狀結構;

1.集合

資料結構中的元素之間除了「同屬一個集合」 的相互關係外,別無其他關係;

2.線性結構。

常用的線性結構有:線性表,棧,佇列,雙佇列,陣列,串。

資料結構中的元素存在一對一的相互關係。

3.樹形結構

樹形結構是一層次的巢狀結構。 一個樹形結構的外層和內層有相似的結構, 所以這種結構多可以遞迴的表示。經典資料結構中的各種樹狀圖是一種典型的樹形結構:

一顆樹可以簡單的表示為根, 左子樹, 右子樹。 左子樹和右子樹又有自己的子樹。

4.圖狀結構

圖狀結構,簡稱「圖」,是一種複雜的資料結構。圖狀結構中,每個結點的前驅結點數和後續結點數可以任意多個。資料元素間的關係是任意的。

其他資料結構(如樹、線性表等)都有明確的條件限制,而圖形結構中任意兩個資料元素間均可相關聯。

根據具體問題型別,進行步驟拆解/原因原理分析/內容拓展等。

具體步驟如下:/導致這種情況的原因主要是……

4樓:匿名使用者

資料結構是指相互之間存在一種或多種關係特定關係的資料元素集合。說白了就是一組資料以及可以對這些資料進行什麼操作,如陣列就是一種資料結構,它儲存資料,可以對它儲存的資料進行插入,刪除,修改等操作。

5樓:匿名使用者

根據資料元素間關係的不同特性,將資料結構常分為下列四類基本的結構:

⑴集合結構。該結構的資料元素間的關係是「屬於同一個集合」。

⑵線性結構。該結構的資料元素之間存在著一對一的關係。

⑶樹型結構。該結構的資料元素之間存在著一對多的關係。

⑷圖形結構。該結構的資料元素之間存在著多對多的關係,也稱網狀結構。

資料結構是計算機儲存、組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。

6樓:匿名使用者

資料結構是指同一資料元素類中各資料元素之間存在的關係。資料結構分別為邏輯結構、儲存結構(物理結構)和資料的運算。資料的邏輯結構是對資料之間關係的描述,有時就把邏輯結構簡稱為資料結構。

邏輯結構形式地定義為(k,r)(或(d,s)),其中,k是資料元素的有限集,r是k上的關係的有限集。 資料元素相互之間的關係稱為結構。有四類基本結構:

集合、線性結構、樹形結構、圖狀結構(網狀結構)。樹形結構和圖形結構全稱為非線性結構。集合結構中的資料元素除了同屬於一種型別外,別無其它關係。

線性結構中元素之間存在一對一關係,樹形結構中元素之間存在一對多關係,圖形結構中元素之間存在多對多關係。在圖形結構中每個結點的前驅結點數和後續結點數可以任意多個。 資料結構在計算機中的表示(映像)稱為資料的物理(儲存)結構。

它包括資料元素的表示和關係的表示。資料元素之間的關係有兩種不同的表示方法:順序映象和非順序映象,並由此得到兩種不同的儲存結構:

順序儲存結構和鏈式儲存結構。順序儲存方法:它是把邏輯上相鄰的結點儲存在物理位置相鄰的儲存單元裡,結點間的邏輯關係由儲存單元的鄰接關係來體現,由此得到的儲存表示稱為順序儲存結構。

順序儲存結構是一種最基本的儲存表示方法,通常藉助於程式設計語言中的陣列來實現。連結儲存方法:它不要求邏輯上相鄰的結點在物理位置上亦相鄰,結點間的邏輯關係是由附加的指標欄位表示的。

由此得到的儲存表示稱為鏈式儲存結構,鏈式儲存結構通常藉助於程式設計語言中的指標型別來實現。索引儲存方法:除建立儲存結點資訊外,還建立附加的索引表來標識結點的地址。

雜湊儲存方法:就是根據結點的關鍵字直接計算出該結點的儲存地址。 資料結構中,邏輯上(邏輯結構:

資料元素之間的邏輯關係)可以把資料結構分成線性結構和非線性結構。線性結構的順序儲存結構是一種隨機存取的儲存結構,線性表的鏈式儲存結構是一種順序存取的儲存結構。線性表若採用鏈式儲存表示時所有結點之間的儲存單元地址可連續可不連續。

邏輯結構與資料元素本身的形式、內容、相對位置、所含結點個數都無關。 編輯本段資料結構與演算法 演算法的設計取決於資料(邏輯)結構,而演算法的實現依賴於採用的儲存結構。資料的儲存結構實質上是它的邏輯結構在計算機儲存器中的實現,為了全面的反映一個資料的邏輯結構,它在儲存器中的映象包括兩方面內容,即資料元素之間的資訊和資料元素之間的關係。

不同資料結構有其相應的若干運算。資料的運算是在資料的邏輯結構上定義的操作演算法,如檢索、插入、刪除、更新和排序等。 資料的運算是資料結構的一個重要方面,討論任一種資料結構時都離不開開對該結構上的資料運算及其實現演算法的討論。

資料結構的形式定義為:資料結構是一個二元組: data-structure=(d,s) 其中:

d是資料元素的有限集,s是d上關係的有限集。 資料結構不同於資料型別,也不同於資料物件,它不僅要描述資料型別的資料物件,而且要描述資料物件各元素之間的相互關係。 資料型別是一個值的集合和定義在這個值集上的一組操作的總稱。

資料型別可分為兩類:原子型別、結構型別。一方面,在程式設計語言中,每一個資料都屬於某種資料型別。

型別明顯或隱含地規定了資料的取值範圍、儲存方式以及允許進行的運算。可以認為,資料型別是在程式設計中已經實現了的資料結構。另一方面,在程式設計過程中,當需要引入某種新的資料結構時,總是藉助程式語言所提供的資料型別來描述資料的儲存結構。

計算機中表示資料的最小單位是二進位制數的一位,叫做位。我們用一個由若干位組合起來形成的一個位串表示一個資料元素,通常稱這個位串為元素或結點。當資料元素由若干資料項組成時,位串中對應於各個資料項的子位串稱為資料域。

元素或結點可看成是資料元素在計算機中的映象。 一個軟體系統框架應建立在資料之上,而不是建立在操作之上。一個含抽象資料型別的軟體模組應包含定義、表示、實現三個部分。

對每一個資料結構而言,必定存在與它密切相關的一組操作。若操作的種類和數目不同,即使邏輯結構相同,資料結構能起的作用也不同。 不同的資料結構其操作集不同,但下列操作必不可缺:

1,結構的生成; 2.結構的銷燬; 3,在結構中查詢滿足規定條件的資料元素; 4,在結構中插入新的資料元素; 5,刪除結構中已經存在的資料元素; 6,遍歷。 抽象資料型別:

一個數學模型以及定義在該模型上的一組操作。抽象資料型別實際上就是對該資料結構的定義。因為它定義了一個資料的邏輯結構以及在此結構上的一組演算法。

抽象資料型別可用以下三元組表示:(d,s,p)。d是資料物件,s是d上的關係集,p是對d的基本操作集。

adt的定義為: adt 抽象資料型別名 adt 抽象資料型別名; 抽象資料型別有兩個重要特性: 資料抽象 用adt描述程式處理的實體時,強調的是其本質的特徵、其所能完成的功能以及它和外部使用者的介面(即外界使用它的方法)。

資料封裝 將實體的外部特性和其內部實現細節分離,並且對外部使用者隱藏其內部實現細節。 資料(data)是資訊的載體,它能夠被計算機識別、儲存和加工處理。它是計算機程式加工的原料,應用程式處理各種各樣的資料。

電腦科學中,所謂資料就是計算機加工處理的物件,它可以是數值資料,也可以是非數值資料。數值資料是一些整數、實數或複數,主要用於工程計算、科學計算和商務處理等;非數值資料包括字元、文字、圖形、影象、語音等。資料元素(data element)是資料的基本單位。

在不同的條件下,資料元素又可稱為元素、結點、頂點、記錄等。例如,學生資訊檢索系統中學生資訊表中的一個記錄等,都被稱為一個資料元素。 有時,一個資料元素可由若干個資料項(data item)組成,例如,學籍管理系統中學生資訊表的每一個資料元素就是一個學生記錄。

它包括學生的學號、姓名、性別、籍貫、出生年月、成績等資料項。這些資料項可以分為兩種:一種叫做初等項,如學生的性別、籍貫等,這些資料項是在資料處理時不能再分割的最小單位;另一種叫做組合項,如學生的成績,它可以再劃分為數學、物理、化學等更小的項。

通常,在解決實際應用問題時是把每個學生記錄當作一個基本單位進行訪問和處理的。 資料物件(data object)或資料元素類(data element class)是具有相同性質的資料元素的集合。在某個具體問題中,資料元素都具有相同的性質(元素值不一定相等),屬於同一資料物件(資料元素類),資料元素是資料元素類的一個例項。

例如,在交通諮詢系統的交通網中,所有的頂點是一個資料元素類,頂點a和頂點b各自代表一個城市,是該資料元素類中的兩個例項,其資料元素的值分別為a和b。 資料結構(data structure)是指互相之間存在著一種或多種關係的資料元素的集合。在任何問題中,資料元素之間都不會是孤立的,在它們之間都存在著這樣或那樣的關係,這種資料元素之間的關係稱為結構。

根據資料元素間關係的不同特性,通常有下列四類基本的結構: ⑴集合結構。該結構的資料元素間的關係是「屬於同一個集合」。

⑵線性結構。該結構的資料元素之間存在著一對一的關係。 ⑶樹型結構。

該結構的資料元素之間存在著一對多的關係。 ⑷圖形結構。該結構的資料元素之間存在著多對多的關係,也稱網狀結構。

從上面所介紹的資料結構的概念中可以知道,一個資料結構有兩個要素。一個是資料元素的集合,另一個是關係的集合。在形式上,資料結構通常可以採用一個二元組來表示。

資料結構的形式定義為:資料結構是一個二元組 data_structure =(d,r) 其中,d是資料元素的有限集,r是d上關係的有限集。 線性結構的特點是資料元素之間是一種線性關係,資料元素「一個接一個的排列」。

在一個線性表中資料元素的型別是相同的,或者說線性表是由同一型別的資料元素構成的線性結構。在實際問題中線性表的例子是很多的,如學生情況資訊表是一個線性表:表中資料元素的型別為學生型別; 一個字串也是一個線性表:

表中資料元素的型別為字元型,等等。 線性表是最簡單、最基本、也是最常用的一種線性結構。 線性表是具有相同資料型別的n(n>=0)個資料元素的有限序列,通常記為:

(a1,a2,… ai-1,ai,ai+1,…an) 其中n為表長, n=0 時稱為空表。 它有兩種儲存方法:順序儲存和鏈式儲存,它的主要基本操作是插入、刪除和檢索等。

資料結構中,資料結構中,Head Head next什麼意思

頭插法 例如輸入a,b,c 下面兩塊分別表示資料域和指標域,代表null head c next b next a 實現語句 無頭結點 head null while 迴圈條件 頭插入法的輸出順序與你的輸入順序相反 尾插法 無頭結點 head a next b next c 實現 head null...

資料結構考試題,資料結構 考試題

你要的演算法是隻要描述還是要上機可以通過的語句啊?先回答第8題吧。1 38,49,65,97,76,13,27,492 38,49,65,97,76,13,27,493 38,49,65,97,76,13,27,494 38,49,65,76,97,13,27,495 13,38,49,65,76,...

資料結構快速排序問題,C語言資料結構 快速排序的問題

由於你傳遞的l是值傳遞,在快速排序內部出現了一個名字一樣的區域性變數,只是區域性變數被排序了,並不是傳入的變數被排序,可以採用傳地址的方式解決,或者不定義形參,直接採用全域性變數。我使用前者幫你實現了 再者,快速排序 有點問題,幫你修改了下 include include define maxsiz...