資料結構之前言

2021-09-01 11:17:15 字數 1342 閱讀 2262

資料:是計算機操作物件的總稱

資料元素:是資料結構中討論的基本單位。

資料項:是資料結構中討論的最小單位。

資料元素可以是資料項的集合。

資料結構:相互之間存在某種邏輯關係的資料元素的集合。

資料結構又分為兩類:邏輯結構、儲存結構。

邏輯結構:資料之間的邏輯關係。包括:線性結構、樹形結構、圖狀結構、集合結構四種。

線性結構:有且只有乙個開始節點和終端節點;除了開始節點和終端節點,其他節點都有唯一乙個直接前驅和直接後繼。如線性表中的順序表、鍊錶、棧等。

樹形結構:有且只有乙個開始節點;有多個終端節點;除了開始節點外,其他節點都有唯一乙個直接前驅;除了終端節點,其他節點都有乙個及其以上的直接後繼。如二叉樹。

網狀結構:資料元素之間多對多關係,每個節點都有乙個及其以上的直接前驅和直接後繼。

集合結構:資料元素除了同屬於乙個集合外,沒有其他關係。

儲存結構:資料之間的邏輯結構的計算機實現,是邏輯結構的儲存映像。包括:順序儲存、鏈式儲存、索引儲存、雜湊(雜湊表)儲存四種。

順序儲存:把資料元素放在位址聯絡儲存單元裡,位址的前後順序就表示了資料元素的邏輯順序,即:資料之間的邏輯關係和儲存關係是一一對應的。

鏈式儲存:在計算機中用一組任意的儲存單元儲存資料元素(儲存單元可以是是連續的,也可以是不連續的),每乙個資料元素包括兩部分,乙個是資料域,用來存放資料,另乙個是指標域,用來存放下乙個資料元素的實體地址。

因此:同乙個邏輯結構可以對應多種儲存方式。

同樣的運算,在不同的儲存結構中,其實現過程是不同的。

同一種邏輯結構,有多種邏輯結構表示方法。

同一種邏輯結構,同乙個運算,在不同的儲存方式下實現,其運算效率可能不同。

不同資料結構的邏輯結構可能是相同的。

資料結構求解問題的過程:

演算法:為了解決某類問題而規定的乙個有限的操作序列。

演算法的特性:

有窮性:有限步驟,有限時間

確定性:在任何條件下,演算法都有唯一一條執行路徑

可行性:可以通過已經實現的基本操作運算有限次實現

有輸入有輸出

演算法設計原則: 

正確性可讀性

健壯性高效率與低儲存量

時間複雜度:隨著問題規模n的增長,演算法執行時間的增長率和 f(n)的增長率相同,記為t(n)=o(f(n))。

空間複雜度:隨著問題規模的n的增大,演算法執行所需要的儲存量的增長率和g(n)的增長率相同,記為s(n)=o(g(n))。

時間複雜度和空間複雜度,我可以理解,但是計算上還是不是太理解,所以在這裡不展開詳細說,後面會補一篇專門的部落格。 

資料結構前言

資料結構組成 資料結構 邏輯結構 儲存結構 運算 邏輯結構組成 1 線性結構 表 list 棧 stack 佇列 queue 串 string 2 非線性結構 樹 圖 3 邏輯結構包含關係 線性表 subseteq 二叉樹 subseteq 樹 subseteq 圖儲存結構 1 邏輯結構到物理儲存的...

資料結構 前言

線性 線性表 棧 佇列 層次 樹形結構 二叉樹等 網狀 圖狀結構集合 每個元素可能具有的直接前驅和直接後繼將邏輯結構分為線性結構和非線性結構兩大類 元素類似於結構體,每個元素含有多個成員。1.順序儲存 將資料結構中各元素按照其邏輯順序存放於儲存器一片連續的儲存空間中。2.鏈式儲存 將資料結構中各元素...

資料結構 前言(0)

為什麼學習資料結構?資料結構作為構建高效演算法的必要基礎,在電腦科學領域中,起到了技術體系的基石的作用。而其中涉及的知識,在相關專業的課程系統中也始終處於核心位置。以acm ieee computing curricula 計算機教學大綱 2005年版為例,其中對於幾個相關專業 電腦科學,計算機工程...