資料結構的簡單理解(4)

2021-08-06 03:13:23 字數 831 閱讀 3370

總結:

資料的邏輯結構、資料的儲存結構及資料的運算這三方面是乙個整體。孤立地去理解乙個方面,而不注意它們之間的聯絡是不可取的。

邏輯結構可以分為:線性結構和非線性結構。

對於一些現實資料項,在討論其資料結構時我們一般先看其邏輯結構是怎樣的,如果這些資料項是線性結構即每個資料項只有乙個前驅節點並且只有乙個後繼結點,則我們在邏輯結構中的線性結構中尋找合適的資料結構對其進行處理(比如線性表,棧、佇列等等);如果這些資料項是非線性結構即每個資料項不止有乙個前驅或者後繼,這時我們就要在邏輯結構中的非線性結構中尋找合適的資料結構對其進行處理(比如圖、集合等等)。

儲存結構可以分為:順序儲存、鏈式儲存、雜湊儲存和索引儲存,其中陣列作為順序儲存的典型應用,鍊錶作為鏈式儲存的典型應用。

在確定了資料所採用的邏輯結構之後,接下來就要對其進行儲存,基本的儲存方式有陣列和鍊錶兩種,用這兩種儲存方式能夠實現大部分資料的儲存,不管是線性結構或者非線性結構。

儲存結構是資料結構不可缺少的乙個方面:同一邏輯結構的不同儲存結構可冠以不同的資料結構名稱來標識。

【例】線性表是一種邏輯結構,若採用順序方法的儲存表示,可稱其為順序表;若採用鏈式儲存方法,則可稱其為鍊錶;若採用雜湊儲存方法,則可稱為雜湊表。

資料的運算也是資料結構不可分割的乙個方面。在給定了資料的邏輯結構和儲存結構之後,按定義的運算集合及其運算的性質不同,也可能導致完全不同的資料結構。

【例】若對線性表上的插入、刪除運算限制在表的一端進行,則該線性表稱之為棧;若對插入限制在表的一端進行,而刪除限制在表的另一端進行,則該線性表稱之為佇列。更進一步,若線性表採用順序表或鍊錶作為儲存結構,則對插入和刪除運算做了上述限制之後,可分別得到順序棧或鏈棧,順序佇列或鏈佇列。

對於資料結構內容的簡單理解

資料結構 動態陣列 陣列是乙個用來存放相同資料型別變數的容器 它是線性結構的一種 在定義之後開闢一塊下標從0開始的連續空間 它的空間由棧分配 先進後出 filo 優點 得益於其開闢的空間連續,所以陣列隨機訪問性強,查詢速度快 缺點 同樣因為開闢空間的連續性,陣列的空間利用率不高 無法像鍊錶一樣方便大...

資料結構的理解

集合 元素之間除了 同屬乙個集合 的相互關係外,別無其他關係 線性表 元素存在一對一的相互關係,可理解為 元素間依次有邏輯關係 樹結構 元素存在一對多的相互關係,可理解為 元素間 有分支,層次關係 圖結構 元素存在多對多的相互關係,可理解為 元素間 存在任意關係 順序儲存 記憶體位址連續,例如 陣列...

資料結構理解

一 程式組成 程式 演算法 資料結構 資料結構是一門告訴你資料在計算機裡如何組織的課程,而演算法是一門告訴你資料在計算機裡如何運算的課程。二 寫程式的目的 寫程式的目的是做資料處理。程式設計序的重點是解決問題的思路,思路和計算機的語言是沒有關係的。程式設計的難點是思維方式的轉變,我們需要從計算機的角...