什麼是資料結構

choubou發表於2021-09-11

什麼是資料結構

一、什麼是資料結構

1、資料結構的定義

資料:從計算機的角度來看,資料是所有能被輸入到計算機中且能被計算機處理的符號的集合。它是計算機操作的物件的總稱,也是計算機處理資訊的某種特定的符號表示形式(二進位制碼的抽象表示?)。

資料元素:資料元素是資料中的一個個體,是資料的基本單位,在計算機中通常作為一個整體來進行考慮和處理。

資料項:一個資料元素可以由多個資料項組成。資料項是具有獨立含義的資料最小單位。

資料、資料元素、資料項這三個的關係類似表、元組、屬性之間的關係,不過表、元組、屬性之間具有確定的關係,而資料、資料元素、資料項之間只有層次關係而沒有具體的關係。

資料結構:資料結構是指資料以及資料相互之間的聯絡,可以看成是相互之間具有某種特定關係的資料元素的集合,因此,可以把資料結構看成是帶結構的資料元素的集合。

資料結構包含以下幾個方面:

資料元素之間的邏輯關係,即資料的邏輯結構。

資料元素及其關係在計算機儲存器中的儲存方式,即資料的儲存結構,也稱為資料的物理結構。

施加在該資料上的操作,即資料的運算。

所以資料結構由三個部分組成:邏輯結構、物理結構、運算。

資料的邏輯結構是從邏輯關係上描述資料(主要是相鄰關係,比如棧、佇列、連結串列等),它與資料的儲存無關,是獨立於計算機的。因此,資料結構可以看作從具體問題中抽象出來的數學模型。

資料的儲存結構是邏輯結構用計算機語言的實現(邏輯結構在計算機儲存中的映像),它是依賴於計算機語言的。

資料的運算是定義在資料的邏輯結構上的,每種邏輯結構都有一組相應的運算。最常用的運算有:檢索(查詢)、插入、刪除、更新、排序等。

對於一種資料結構,其邏輯結構總是唯一的,但它可以對應多種儲存結構,並且在不同的儲存結構中,同一運算的實現過程可能不同。

2、邏輯結構型別

在不產生混淆的情況下,通常將邏輯結構簡稱為資料結構。

資料的邏輯結構主要有以下幾類:

集合:集合中的元素相互獨立,除了同屬於一個集合之外,別無其他關係。(集合中的元素不能重複)

線性結構:線性結構中的節點具有一對一的關係,其特點是開始節點和終端節點都是唯一的,除開始節點和終端節點之外,其餘節點有且僅有一個前驅,有且僅有一個後繼。

樹形結構:樹形結構中的節點具有一對多的關係,其特點是每個節點最多隻有一個前驅,但可以有多個後繼,可以有多個終端節點。

圖形結構:圖形結構中的節點具有多對多的關係,其特點是每個節點的前驅和後繼的數量都可以是任意的。

3、儲存結構型別

順序儲存方法:把邏輯上相鄰的節點儲存在物理上相鄰的儲存單元裡,節點之間的邏輯關係由儲存單元的鄰接關係來體現。

優點:節省儲存空間,可以實現節點的隨機存取(每個節點對應一個序號,由該序號可直接確定節點的儲存地址)

缺點:不便於修改(在對節點進行插入、刪除的操作時,可能要移動一系列的節點)。

鏈式儲存方法:該方法不需要邏輯上相鄰的節點在物理位置上也相鄰,節點之間的邏輯關係由附加的指標欄位表示。

優點:便於修改(在進行插入、刪除操作時,只需要修改對應節點的指標域,不必移動節點)。

缺點:儲存空間利用率較低(有一部分空間用來儲存節點之間的邏輯關係了),不能進行隨機存取(因為邏輯上相鄰的節點在物理位置上不一定相鄰)。

索引儲存方法:該方法通常在儲存節點資訊的同時,還建立附加的索引表。索引表中的每一項稱為索引項,索引項的一般形式是:(關鍵字,地址),其中關鍵字唯一標識一個節點,地址則是指向該節點的指標。

優點:支援隨機訪問(因為索引表是順序儲存的,類似於 C語言中的指標陣列),具有較高的資料修改運算效率。

缺點:索引儲存的方法增加了索引表,降低了儲存空間的利用率。

雜湊(或雜湊)儲存方法:該方法根據節點的關鍵字透過雜湊(或雜湊)函式直接計算出一個值,並將這個值作為該節點的儲存地址。

優點:雜湊儲存方法的優點就是查詢資料快,只要給出要查詢節點的關鍵字,就可以立即計算出對應節點的儲存地址。

缺點:雜湊儲存方法只儲存節點的資料,不儲存節點之間的邏輯關係。所以雜湊儲存方法一般只適合要求能夠快速查詢和插入的場合。

上面基本的儲存方法,既可以單獨使用,也可以組合起來使用。同一種邏輯結構採用不同的儲存方法,可以得到不同的儲存結構。選擇何種儲存結構,主要根據運算方便和演算法的時空要求來決定。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4548/viewspace-2837102/,如需轉載,請註明出處,否則將追究法律責任。

相關文章