一、數據結構是什么
數據結構
數據結構可以理解為:數據 + 結構。數據是描述客觀事物的符號,為程序操控,存儲在計算機上,結構包括數據的邏輯結構和存儲結構。在很多書籍以及博客中,對數據結構的解釋為數據在計算機的存儲方式。
數據的邏輯結構
數據元素間抽象化的相互關系,與數據的存儲無關,獨立于計算機,但邏輯結構決定元素的輸入、存儲、發(fā)送、處理和信息傳遞的基本操作功能。邏輯結構有四種基本類型:集合結構、線性結構、樹形結構和圖形結構。表和樹是最常用的兩種高效數據結構,許多高效的算法能夠用這兩種數據結構來設計實現
1.集合結構
由若干元素集合在一起形成的團聚體(或稱集合體)相互堆積起來的一種結構類型,數據元素之間無其他的關系,僅僅屬于同一集合體而已。
2.線性結構
數據元素之間存在一一對應的關系,其開始節(jié)點和終端節(jié)點具有少數性,除了開始開始節(jié)點和終端節(jié)點,其他的元素有且僅有一個前驅節(jié)點和后繼節(jié)點,線性表就是一個典型。
3.樹形結構
數據元素之間存在著一一對應的關系,每一個數據元素只有一個前驅節(jié)點,但是卻又很多后繼節(jié)點 終端節(jié)點可以有多個。二叉樹就是一個典型。
4.圖形結構
又稱為非線性結構,數據元素之間存在著多對多的關系,其前驅節(jié)點和后繼節(jié)點的個數可以是任意多個
注:四種邏輯結構存在著關系:樹形結構是圖形結構的特殊形式,而線性結構又是樹形結構的特殊形式。
延伸閱讀:
二、順序存儲結構是什么
把邏輯上相鄰的數據存儲在物理位置上相鄰的存儲單位里,用物理位置上的相鄰來體現邏輯上的相鄰,此種存儲結構的又在于節(jié)省了存儲空間,因為分配給數據的存儲單元完全用于了數據的存儲,數據之間的邏輯關系沒有占用存儲空間,可以實現對數據的隨機存取,每個節(jié)點對應一個序號,由這個序號可以計算出數據的存儲地址,缺點在于不變于數據的修改,對數據的插入和刪除可能要移動一系列的數據。