資料結構的概念

2021-08-03 04:36:56 字數 2916 閱讀 2292

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

資料結構具體指同一類資料元素中,各元素之間的相互關係,包括三個組成成分,資料的邏輯結構,資料的儲存結構和資料運算結構。

一般認為,乙個資料結構是由資料元素依據某種邏輯聯絡組織起來的。對資料元素間邏輯關係的描述稱為資料的邏輯結構;資料必須在計算機內儲存,資料的儲存結構是資料結構的實現形式,是其在計算機內的表示;此外討論乙個資料結構必須同時討論在該類資料上執行的運算才有意義。乙個邏輯資料結構可以有多種儲存結構,且各種儲存結構影響資料處理的效率。

在許多態別的程式的設計中,資料結構的選擇是乙個基本的設計考慮因素。許多大型系統的構造經驗表明,系統實現的困難程度和系統構造的質量都嚴重的依賴於是否選擇了最優的資料結構。許多時候,確定了資料結構後,演算法就容易得到了。有些時候事情也會反過來,我們根據特定演算法來選擇資料結構與之適應。不論哪種情況,選擇合適的資料結構都是非常重要的。

資料處理是指對資料進行查詢、插入、刪除、合併、排序、統計以及簡單計算等的操作過程

資料結構是指同一資料元素類中各資料元素之間存在的關係。資料結構分別為邏輯結構、儲存結構(物理結構)和資料的運算

邏輯結構:有四類基本結構:集合、線性結構樹形結構、圖狀結構(網狀結構)。樹形結構和圖形結構全稱為非線性結構。集合結構中的資料元素除了同屬於一種型別外,別無其它關係。線性結構中元素之間存在一對一關係,樹形結構中元素之間存在一對多關係,圖形結構中元素之間存在多對多關係。在圖形結構中每個結點的前驅結點數和後續結點數可以任意多個。

儲存結構:順序儲存結構和鏈式儲存結構順序儲存方法:它是把邏輯上相鄰的結點儲存在物理位置相鄰的儲存單元裡,結點間的邏輯關係由儲存單元的鄰接關係來體現,由此得到的儲存表示稱為順序儲存結構。順序儲存結構是一種最基本的儲存表示方法,通常借助於程式語言中的陣列來實現。鏈結儲存方法:它不要求邏輯上相鄰的結點在物理位置上亦相鄰,結點間的邏輯關係是由附加的指標字段表示的。由此得到的儲存表示稱為鏈式儲存結構,鏈式儲存結構通常借助於程式語言中的指標型別來實現。索引儲存方法:除建立儲存結點資訊外,還建立附加的索引表來標識結點的位址。雜湊儲存方法:就是根據結點的關鍵字直接計算出該結點的儲存位址。

資料的運算是在資料的邏輯結構上定義的操作演算法,如檢索、插入、刪除、更新和排序等。

線性結構的順序儲存結構是一種隨機訪問的儲存結構,線性表的鏈式儲存結構是一種順序訪問的儲存結構。線性表若採用鏈式儲存表示時所有結點之間的儲存單元位址可連續可不連續。

演算法的設計取決於資料(邏輯)結構,而演算法的實現依賴於採用的儲存結構。資料的儲存結構實質上是它的邏輯結構在計算機儲存器中的實現,

抽象資料型別:乙個數學模型以及定義在該模型上的一組操作。抽象資料型別實際上就是對該資料結構的定義。

常用資料結構

在程式設計中,為了處理方便, 把具有相同型別的若干變數按有序的形式組織起來。這些按序排列的同類資料元素的集合稱為陣列。在c語言中, 陣列屬於構造資料型別。乙個陣列可以分解為多個陣列元素,這些陣列元素可以是基本資料型別或是構造型別。因此按陣列元素的型別不同,陣列又可分為數值陣列、字元陣列、指標陣列、結構陣列等各種類別。

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

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

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

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

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

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

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

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

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

資料結構的概念

程式設計 為計算機處理問題編制一組指令集 演算法 處理問題的策略 資料結構 問題的數學模型 數學 軟體 硬體 資料結構 資料 所有能輸入到計算機中並被計算機處理的符號的總稱。資料元素之間的相互關係 邏輯關係 稱為結構,4類基本結構為集合 線性 樹和圖。資料結構 相互之間存在邏輯關係 結構 的資料元素...

資料結構概念

資料結構概念 資料結構包含資料和結構,通俗一點就是將資料按照一定的結構組合起來,不同的組合方式會有不同的效率,使用不同的場景,如此而已。比如我們最常用的陣列,就是一種資料結構,有獨特的承載資料的方式,按順序排列,其特點就是你可以根據下標快速查詢元素,但是因為在陣列中插入和刪除元素會有其它元素較大幅度...

資料結構概念

資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料結構 是相互之間存在一種或多種特定關係的資料元素集合。資料 是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計算機處理的符號集合。資料元素 是組成資料的 有一定意義的基本單...