數據結構筆記淺記(四)數據結構分類

常見的數據結構包括數組、鏈表、棧、隊列、哈希表、樹、堆、圖,它們可以從“邏輯結構”和“物理結構” 兩個維度進行分類。

邏輯結構:線性與非線性

        邏輯結構揭示了數據元素之間的邏輯關係。在數組和鏈表中,數據按照一定順序排列,體現了數據之間的線 性關係;而在樹中,數據從頂部向下按層次排列,表現出“祖先”與“後代”之間的派生關係;圖則由節點 和邊構成,反映了複雜的網絡關係。

        線性結構比較直觀,指數據在邏輯關係上呈線性排列;非線性結構則相反,呈非線性排列。

        ‧ 線性數據結構:數組、鏈表、棧、隊列、哈希表,元素之間是一對一的順序關係。

        ‧ 非線性數據結構:樹、堆、圖、哈希表。

                    非線性數據結構可以進一步劃分爲樹形結構和網狀結構

                             ‧ 樹形結構:樹、堆、哈希表,元素之間是一對多的關係。

                             ‧ 網狀結構:圖,元素之間是多對多的關係。

 

物理結構:連續與分散

當算法程序運行時,正在處理的數據主要存儲在內存中。內存想象成一個巨大的 Excel 表格,其中每個單元格都可以存儲一定大 小的數據。 

系統通過內存地址來訪問目標位置的數據。計算機根據特定規則爲表格中的每個單元格分配編號,確保每個內存空間都有唯一的內存地址。有了這些地址,程序便可以訪問內存中的數據。

內存是所有程序的共享資源,當某塊內存被某個程序佔用時,則無法被其他程序同時使用了。因此在數據結 構與算法的設計中,內存資源是一個重要的考慮因素。

物理結構反映了數據在計算機內存中的存儲方式,可分爲連續空間存儲(數組)和分散空間 存儲(鏈表)。

所有數據結構都是基於數組、鏈表或二者的組合實現的

        .基於數組可實現:棧、隊列、哈希表、樹、堆、圖、矩陣、張量(維度 ≥ 3 的數組)等。

        ‧ 基於鏈表可實現:棧、隊列、哈希表、樹、堆、圖等。

 

基於數組實現的數據結構也稱“靜態數據結構”,這意味着此類數據結構在初始化後長度不可變。相對應地, 基於鏈表實現的數據結構也稱“動態數據結構”,這類數據結構在初始化後,仍可以在程序運行過程中對其長 度進行調整。

數據結構是在計算機中組織與存儲數據的方式。

基本數據類型提供了數據的“內容類型”,而數據結構提供了數據的“組織方式”。

 

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