資料結構與演算法入門 資料結構型別

2022-07-20 14:15:14 字數 2259 閱讀 8044

資料的邏輯結構

資料的邏輯結構指資料元素之間的邏輯哦關係(和實現無關)

分類一:線性結構和非線性結構

線性結構:有且只有乙個開始結點和乙個終端節點,並且所有節點都最多只有乙個直接前繼和乙個直接後繼。

線性表就是乙個典型的線性結構,它有四個基本特徵:

1.集合中必存在唯一的乙個「第乙個元素」

2.集合中必存在的乙個「最後的元素」

3.除最後元素之外,其他的資料元素均有唯一乙個的「後繼」

4.除第一元素之外,其他的資料元素均有唯一乙個的「前驅」

相對應線性結構,非線性結構的邏輯特徵是乙個節點元素可能對應多個直接前繼和多個直接後繼,常見的有樹(二叉樹等)、圖(網等)

樹:例如linux的檔案系統等

分類二: 集合結構 線性結構 樹狀結構 網狀結構

邏輯結構有四種基本型別:集合結構、線性結構、樹狀結構和網狀結構

表和樹是最常用的兩種高效資料結構,許多高效的演算法能夠用這兩種資料結構來設計實現

集合結構:三個特徵:1.確定性2.唯一性3.無序性,該結構的資料元素間的關係是「屬於同一集合」,別無其他關係。因為集合中元素的關係很弱,資料結構中不對該結構進行研究

線性結構:資料元素之間存在一對一的關係

樹狀結構:除了乙個資料元素(元素01)以外每個資料元素有且僅有乙個直接前驅元素,但是可以有多個直接後繼元素,特點是資料元素之間是1對多的聯絡

網狀結構:每個資料元素可以有多個直接前驅元素,也可以有多個直接後繼元素,特點是資料元素之間是多對多的關係

資料的儲存結構

資料的儲存結構主要包括資料元素本身的儲存以及資料元素之間的關係表示,是資料的邏輯結構在計算機中的表示,常儲存結構有順序儲存,鏈式儲存,索引儲存以及雜湊儲存

順序儲存結構:通常順序儲存結構是借助計算機中的陣列的概念描述的

優點:節省儲存空間,因為分配給資料的儲存單元全用存放節點的資料,節點之前的邏輯關係沒有占用儲存空間

採用這種方法的,可實現對節點的隨機訪問,每個節點對應乙個序號,通過該序號可以計算出來節點的儲存位址

缺點:插入和產出操作需要移動元素,效率低

鏈式儲存結構:資料元素的儲存對應的是不連續的儲存空間,每乙個儲存節點對應乙個需要儲存的資料元素

鏈式儲存結構的特點:

1.每個節點是由資料域和指標域組成,所以相同空間內假設全存滿的話順序比鏈式儲存更多

2.邏輯上相鄰的節點物理上不相鄰

3.查詢刪除靈活(不必移動節點,只要改變節點中的額指標)

4.查詢結點鏈式儲存要比順序儲存慢

比如:圖書,字典的目錄,目錄是佔空間的,但是這個目錄佔的空間非常小,能夠帶給效能的極大的優越。根據索引查詢資料

雜湊儲存結構:

新增和查詢非常快,按照內容查詢

總結:

資料結構與演算法入門

1.描述乙個演算法優劣用計算次數的 數量級。1m 1g 1t。與問題相關的規模用n t n n 2 n 3 2.常見的時間複雜度 用大o表示法表示 常數階 o 1 線性階 o n 平方階 o n 2 對數階 o logn nlogn階 o nlogn 立方階 o n 3 指數階 o 2 n o 1 ...

資料結構 演算法入門

演算法 algorithm 就是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或者多個操作。資料結構與演算法的關係 單獨學習資料結構,不能理解資料結構有什麼用處。演算法的特性 輸入和輸出 零個或多個輸入,乙個或多個輸出 有窮性,確定性,可行性 演算法設計的要求 正確...

資料結構 演算法入門

公司的核心價值點起始與資料,資料可以預判趨勢,指導方向,解決實際問題,掌握了公司的資料,就掌握了公司運營和發展的命脈 是做技術的基礎中的基礎,是高技術人才的必備能力 裝逼利器 物理形式 邏輯形式 舉例子 天天生鮮中的,商品資訊,使用者資訊這些資料,有各自的組織方式,儲存起來,單個的資料是沒有意義的,...