資料結構的組成

2021-10-01 03:06:03 字數 2440 閱讀 5389

邏輯結構

非線性結構

演算法

資料結構由儲存結構、邏輯結構及演算法組成

儲存結構、邏輯結構與演算法之間的關係

儲存結構抽象出邏輯結構

邏輯結構依賴於演算法的實現

儲存結構制約演算法的實現

又名物理結構,是資料儲存到計算機上的真實結構,儲存結構分四類:

概念:順序儲存結構是把邏輯上相鄰的結點儲存在物理位置上相鄰的儲存單元中,結點之間的邏輯關係由儲存單元的鄰接關係來體現。

理解:用一段連續的位址來存放資料

優點

隨機訪問表中元素

儲存密度大

缺點

插入和刪除操作需要移動元素

操作

元素的插入:順序結構中,若插入元素,則插入元素的位置後的元素,都需要整體向後移動乙個位置,為即將要插入的元素空出乙個位置,再將元素放入

元素的刪除:與插入類似,在順序結構中,若刪除元素,則需要刪除元素位置後的所有元素,都需要整體向前移動乙個位置,並覆蓋掉需要刪除的元素,將最後乙個元素移除

概念:在計算機中用一組任意的儲存單元儲存線性表的資料元素(這組儲存單元可以是連續的,也可以是不連續的)。它不要求邏輯上相鄰的元素在物理位置上也相鄰,因此它沒有順序儲存結構所具有的弱點,但同時也失去了順序表可以隨機訪問的優點

理解:元素的物理存放不具備必要連續性,由元素的指標指向下乙個資料,形成邏輯上連續

優點

插入或刪除方便,空間使用靈活

邏輯相鄰的節點物理上不必相鄰

缺點

儲存密度小,空間利用度低(每個節點都由資料域和指標域組成,所以相同空間內假設全存滿的話,順序比鏈式儲存更多)

查詢會相較順序儲存方式複雜一些,花費的時間更多

操作:

元素的新增:更新鍊錶的尾部元素指標位址,將指標指向需要新增的元素的位址

元素的插入:第一步需要將新元素的指標指向需要插入的元素位址,第二步將新元素需要插入鍊錶位置的前驅位置指向新元素

元素的刪除:先找到被移除結點的前驅位置,前它的前驅位置的指標位址替換為被移除結點的指標位址

概念:除建立儲存結點資訊外,還建立 附加的索引來標識結點的位址。索引表由若干索引組成

優點

檢索速度快

缺點

增了附加的索引表,會占用較多的儲存空間

概念:根據關鍵碼值 (key value)而直接進行訪問的資料結構。它通過把關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢 的速度。這個對映函式叫做雜湊函式,存放記錄的陣列叫做雜湊表

優點:運算速度快,不論雜湊表中的資料有多少,其查詢、插入、刪除的時間複雜度為o(1)

缺點:由於雜湊是基於陣列的,陣列建立後難於擴充套件,某些雜湊表被基本填滿時,效能下降得非常嚴重

是資料組合規則與關係的抽象描述,一般所討論的資料結構通常指邏輯結構,邏輯結構按特性來區分,分為線性結構和非線性結構

是針對邏輯結構一系列的操作方法,演算法在考慮效能的時候受儲存結構制約

資料結構組成

邏輯結構指元素之間的邏輯關係 與實現無關 線性結構 一對一 線性表 棧 佇列 串及陣列 非線性結構 樹形結構 一對多 圖形結構 多對多 集合關係 唯 一 無序 確定 順序結構 陣列 優點 節省儲存空間,分配的空間全部 缺點 插入 刪除效率低 需要提前分配空間,可能會導致空間浪費 鏈式結構 鍊錶 優點...

01資料結構的基本組成

線性結構作為最常用的資料結構,其特點是資料元素之間存在一對一的線性關係 線性結構有兩種不同的儲存結構,即順序儲存結構 如陣列 和鏈式儲存結構 如鍊表 順序儲存的線性 表稱為順序表,順序表中的儲存元素是連續的 指的是位址連續 鏈式儲存的線性表稱為鍊錶,鍊錶中的儲存元素不一定是連續的 指的是位址不一定連...

資料結構 資料結構的概述

一 概述 什麼是資料結構 資料 由有限的符號 比如,0 和 1 具有其自己的結構 操作 和相應的語義 組成的元素的集合。結構 元素之間的關係的集合。資料結構 資訊的一種組織方式,其目的是為了提高演算法的效率,它通常與一組演算法的集合相對應,通過這組演算法集合可以對資料結構中的資料進行某種操作。它用來...