什麼是數據結構 簡單來說可以解釋為:程式設計=數據結構+演算法; 主要是用來研究數據結構的關係,數據元素之間存在的一種或多種特定關係的集合; 數據結構的分類 按照傳統意義上來講,數據結構可以分為兩類:邏輯結構和物理結構; 邏輯結構指的是數據對象中數據元素之間的相互關係。 主要有四種邏輯結構: 集合結構 ...
什麼是數據結構
簡單來說可以解釋為:程式設計=數據結構+演算法;
主要是用來研究數據結構的關係,數據元素之間存在的一種或多種特定關係的集合;
數據結構的分類
按照傳統意義上來講,數據結構可以分為兩類:邏輯結構和物理結構;
邏輯結構指的是數據對象中數據元素之間的相互關係。
主要有四種邏輯結構:
- 集合結構:集合結構中的數據元素同屬於一個集合體中,但是它們之間沒有其他關聯;
- 線性結構:線性結構中的數據元素之間是一對一的關係,如同夫妻關係;
- 樹形結構:樹形結構中的數據元素之間是一對多的關係,如同一個爸爸對多個自己的孩子;
- 圖形結構:圖形結構中的數據元素之間是多對多的關係,我更傾向於把它理解成一個網狀結構,如同在社會中人與人之間都是相互關聯的;
物理結構的存儲
物理結構中的存儲器主要是針對記憶體而言的,硬碟、軟盤、光碟等外部存儲器的數據組織通常用文件結構來描述;
數據元素的存儲形式有兩種:順序存儲和鏈式存儲。
- 順序存儲結構是把數據元素存放在地址連續的存儲單元里,其數據間的邏輯關係和物理關係是一致的(編程語言的數據結構就是屬於這種);
- 鏈式存儲結構是把數據元素存放在任意的存儲單元里,這組存儲單元可以是連續的,也可以是不連續的;它比順序存儲更靈活(類似銀行排號辦理業務),但是不能反應其邏輯關係,所以需要用一個指針存放數據元素的地址(指針指向的是下一個地址)—通過地址就可以找到相關聯數據元素的位置