數據結構與算法基礎01-基本概念

程序 = 數據結構 + 算法

今天打算把數據結構重新系統的學習一遍。

1,數據結構的研究內容

實際問題 – 數學模型 – 分析問題 – 提取關係 – 數學語言描述

1.1數據

包括數值型數據和非數值型數據

1.2數據元素:指的是一個元組

數據的基本單位,在計算機程序中作爲一個整體考慮
例如 元素 記錄 結點 頂點

1.3數據項:指的是元組中的一個單獨項

構成數據元素的不可分割的最小單位
在這裏插入圖片描述

1.4數據對象

性質相同的數據元素的集合,可以使一個表。

·

1.5數據結構:數據元素相互之間的關係成爲結構

·

1.5.1數據元素之間的邏輯關係——邏輯結構

A第一種劃分方法

1,線性結構(線性表 棧 隊列 串)
有且僅有一個開始節點和一個終端節點,並且所有節點都最多有一個直接前驅和一個直接後繼

2,非線性結構(樹 圖)
一個接待你可能有多個直接前驅和直接後繼

B第二種劃分方式

四種基本邏輯結構:

1,集合結構:結構中的數據源數除了同屬於同一個集合的關係以外,沒有其他關係

2,線性結構:結構中的數據元素之間存在一對一的線性關係

3,樹形結構:結構中的數據元素之間存在一對多的層次關係

4,圖狀結構或網狀結構:結構中數據元素之間存在着多對多的任意關係

1.5.2物理結構(存儲結構)

1,順序存儲結構:
用連續存儲單元依次存儲數據元素,數據元素之間的邏輯關係由元素的存儲位置來表示,例如C語言的數組

2,鏈接存儲結構

用一組任意存儲單元存儲數據元素,數據元素之間的邏輯關係用指針來表示,例如C語言中用指針來實現鏈式存儲結構。

3,索引存儲結構
存儲節點信息的同時,還建立附加的索引表,例如手機通訊錄

4,散列存儲結構
根據結點的關鍵字直接計算出該結點的存儲地址

1.6存儲結構與邏輯結構的關係

存儲結構是邏輯關係的映像與元素本身映像
邏輯結構是數據結構的抽象,存儲結構是數據結構的實現

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章