1.1什麼是數據結構

計算機是一種信息處理裝置
信息中的各個數據元素不是孤立存在的
他們之間存在着一定的結構關係

數據結構中數據之間的關係有兩種:線性關係和非線性關係
非線性關係包括兩種:樹形關係和圖關係

邏輯結構和存儲結構

線性關係:與每一個數據單位相鄰的前一個數據單位最多只能有一個(第一個數據單位沒有),與每一個數據單位相鄰的後一個數據單位最多只能有一個(最後一個數據單位沒有)。這時可以可以將文件中的數據單位的集合稱爲數據集合,我們將這種數據單位之間的關係稱爲線性關係。


數據之間既要考慮存儲,又要考慮數據單位之間的關係,在確定了存儲結構後,根據存儲的結構再來確定相應操作的實現方法。

樹型關係:我們使用的微機中,每個邏輯盤都有一個根目錄,根目錄下可以建立若干個子目錄,而每個子目錄下又可以創建若干個子目錄,形成了一個對應多個的關係稱爲層次關係(樹型關係)。

如果將每個目錄作爲一個獨立的數據單位,那麼每個子目錄只有一個父目錄,但是它有允許有若干個子目錄。我們可以將目錄的集合看做是數據的集合,目錄之間的關係看做是非線性關係中的層次模型。

根目錄不能刪除,每個子目錄可以刪除,並且每個目錄下可以存儲若干文件。

對層次結構的操作:如果某個目錄需要刪除(根目錄例外),對應的操作就是刪除該目錄及該目錄下的所有文件,又稱刪除節點(子樹);如果在此目錄下增加一個管理目錄,對應的操作是在樹結構中添加一個節點;查找某個子目錄,我們一般的操作是從根目錄開始,一次往下查,對應的數據結構的操作就是查找等。
在此種結構中關鍵的的是各種對應的操作一般從根目錄開始,對應的數據結構中的操作是從根節點開始。

圖關係:如果以每臺計算機爲結點,組成計算機網絡,在計算機網絡中,每臺計算機之間可以實現通信,此時每臺計算機之間可以和多臺計算機進行通信。
如果以每個計算機爲結點,每臺計算機可以通過傳輸介質與其他計算機進行通信,此時每臺計算機之前可以有多臺計算機,每臺計算機之後也可以有多臺計算機。簡單的可以將計算機之間的關係理解爲多對多的關係,屬於非線性關係中的圖關係。

在處理數學模型時,首先應保存數學模型所需要的必須的數據,根據數據在計算機中的存儲,以及各個獨立的數據元素之間的關係,可以將數據結構分爲線性結構和非線性結構。

數據結構是一門研究數據存儲、數據之間的關係及數據實現各種操作的一門學科。

數據之間的關係:邏輯關係、存儲關係或物理關係

存儲結構:順序存儲結構和非順存儲序結構

順序存儲結構的特點是順序存儲結構(一般用一維數組)中體現數據之間的關係;
非順序存儲結構則一般採用指針實現數據之間的關係,包括鏈式存儲結構(鏈表)和散列結構等。

數據的存儲結構要能夠正確反映數據元素之間的邏輯關係。

數據的邏輯結構和數據的存儲結構是密不可分的兩個方面,任何一種算法的設計取決於選定的邏輯結構,而算法的實現則依賴於採用的存儲結構。

順序映射(順序存儲結構)是藉助元素在存儲器中位置表示數據元素之間的邏輯關係,或邏輯上相鄰的結點存儲在物理位置上相鄰的存儲單元裏

數據的非順序存儲結構除了包括鏈式存儲結構(簡稱鏈表)意外,還有散列存儲結構、索引存儲結構等。

鏈式存儲結構利用指針直接表示數據元素之間的關係。

散列結構的基本思想是根據結點的關鍵字,利用散列函數直接計算出該節點的存儲地址。

索引存儲結構是指在存儲結點信息的同時,還建立附加的索引表。
索引表的每一項稱爲索引項,索引項的一般形式是:(關鍵字,地址)。
關鍵字是能夠惟一標識一個結點的那些數據項集合。

數據類型根據是否可以分解分爲原子類型和結構類型
原子類型:整形、字符型
結構類型:數組

數據結構所要研究的主要內容簡單歸納爲以下3個方面:
研究數據元素之間的客觀聯繫(邏輯結構)
研究數據在計算機內部的存儲方法(存儲結構)
研究如何在數據的各種結構(邏輯的和物理的)上實施有效的操作或處理(算法)
所以數據結構是一門抽象地研究數據之間的關係的學科。

數據之間的關係可分爲三種:

線性關係     一對一關係
樹型關係     一對多關係
圖  關 系     多對多關係

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