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