① 計算機有哪些存儲結構
在計算機中存儲和組織數據的方式被稱之為數據結構,鏈表和數組是較為常見的兩種結構。
1、數組
數組就像一個個緊挨著的小格子,每一個格子都有它們自己的序號,這個序號被稱之為「索引」。與生活中不太相同的是,平時計數習慣以「1」開始,而在計算機中,「0」是開頭的第一個數字。
數組中的數據,在計算機的存儲器中,也是按順序存儲在連續的位置中。當我們尋找需要的數據時,通過格子中的索引,便可以找到數據。
2、鏈表
鏈表的存儲方式有些像地址和住宅的關系,地址可以寫在一張紙上,但是這並不代表住宅也緊密相鄰。鏈表中的數據在計算機中也是分散地存儲在各個地方,但是鏈表裡面除了存儲數據,還存儲了下一個數據的地址,以便於找到下一個數據。
與數組不同的是,鏈表儲存數據不像數組一樣,需要提前設定大小,就像火車的車廂長度是隨著乘客的數量而增加的。
(1)下列數組的存儲結構中擴展閱讀
數據的鏈式存儲結構可用鏈接表來表示。
其中data表示值域,用來存儲節點的數值部分。Pl,p2,…,Pill(1n≥1)均為指針域,每個指針域為其對應的後繼元素或前驅元素所在結點(以後簡稱為後繼結點或前驅結點)的存儲位置。
通過結點的指針域(又稱為鏈域)可以訪問到對應的後繼結點或前驅結點,若一個結點中的某個指針域不需要指向其他結點,則令它的值為空(NULL)。
在數據的順序存儲中,由於每個元素的存儲位置都可以通過簡單計算得到,所以訪問元素的時間都相同;而在數據的鏈接存儲中。
由於每個元素的存儲位置保存在它的前驅或後繼結點中,所以只有當訪問到其前驅結點或後繼結點後才能夠按指針訪問到,訪問任一元素的時間與該元素結點在鏈式存儲結構中的位置有關。
② 數據的存儲結構包括哪四種
存儲結構有:
1、鏈接存儲:在計算機中用一組任意的存儲單元存儲線性表的數據元素(這組存儲單元可以是連續的,也可以是不連續的)。
例:鏈。
2、順序存儲:在計算機中用一組地址連續的存儲單元依次存儲線性表的各個數據元素,稱作線性表的順序存儲結構。
例:數組,鏈。
3、索引存儲:除建立存儲結點信息外,還建立附加的索引表來標識結點的地址,索引表由若干索引項組成。
例:線索樹。
4、散列存儲:散列存儲,又稱hash存儲,是一種力圖將數據元素的存儲位置與關鍵碼之間建立確定對應關系的查找技術。
例:棧(既可以通過順序存儲也可以同通過隨機存儲)。
順序存儲和鏈接存儲的基本原理:
在順序存儲中,每個存儲空間含有所存元素本身的信息,元素之間的邏輯關系是通過數組下標位置簡單計算出來的線性表的順序存儲,若一個元素存儲在對應數組中的下標位置為i,則它的前驅元素在對應數組中的下標位置為i-1,它的後繼元素在對應數組中的下標位置為i+1。
在鏈式存儲結構中,存儲結點不僅含有所存元素本身的信息,而且含有元素之間邏輯關系的信息。
在數據的順序存儲中,由於每個元素的存儲位置都可以通過簡單計算得到,所以訪問元素的時間都相同。
而在數據的鏈接存儲中,由於每個元素的存儲位置保存在它的前驅或後繼結點中,所以只有當訪問到其前驅結點或後繼結點後才能夠按指針訪問到,訪問任一元素的時間與該元素結點在鏈式存儲結構中的位置有關。