A. 順序存儲結構針對什麼結構順序存儲結構能存什麼順序存儲結構的特徵是什麼
順序存儲一般使用數組實現。存的當然是節點,節點是你自己定義的數據類型,特徵:隨機存取,佔用連續的存儲空間,靜態分配,存儲密度等於1等等。
B. 什麼是順序存儲器
按存儲方式分
隨機存儲器:任何存儲單元的內容都能被隨機存取,且存取時間和存儲單元的物理位置無關。
順序存儲器:只能按某種順序來存取,存取時間和存儲單元的物理位置有關。
C. 順序存儲方式只能用於存儲線性結構嗎
不是。
順序存儲方式不僅能用於存儲線性結構,還可以用來存放非線性結構,例如完全二叉樹是屬於非線性結構,但其最佳存儲方式是順序存儲方式。
數據的邏輯結構包括線性結構、樹、圖、集合這四種,在線性結構裡面又有線性表、棧、隊列等等。而數據的存儲結構只有兩種:順序存儲結構和鏈式存儲結構,這兩種存儲結構,前面一個是利用數據元素在存儲器中的相對位置表示其邏輯結構,另外一個是用指針來表示其邏輯關系。
順序存儲結構
的主要優點是節省存儲空間,因為分配給數據的存儲單元全用存放結點的數據(不考慮c/c++語言中數組需指定大小的情況),結點之間的邏輯關系沒有佔用額外的存儲空間。
採用這種方法時,可實現對結點的隨機存取,即每一個結點對應一個序號,由該序號可以直接計算出來結點的存儲地址。但順序存儲方法的主要缺點是不便於修改,對結點的插入、刪除運算時,可能要移動一系列的結點。
D. 數據結構的存儲方式有哪幾種
數據結構的存儲方式有順序存儲方法、鏈接存儲方法、索引存儲方法和散列存儲方法這四種。
1、順序存儲方式:順序存儲方式就是在一塊連續的存儲區域一個接著一個的存放數據,把邏輯上相連的結點存儲在物理位置上相鄰的存儲單元里,結點間的邏輯關系由存儲單元的鄰接掛安息來體現。順序存儲方式也稱為順序存儲結構,一般採用數組或者結構數組來描述。
2、鏈接存儲方法:它比較靈活,其不要求邏輯上相鄰的結點在物理位置上相鄰,結點間的邏輯關系由附加的引用欄位表示。一個結點的引用欄位往往指導下一個結點的存放位置。鏈接存儲方式也稱為鏈接式存儲結構,一般在原數據項中增加應用類型來表示結點之間的位置關系。
3、索引存儲方法:除建立存儲結點信息外,還建立附加的索引表來標識結點的地址。它細分為兩類:稠密索引:每個結點在索引表中都有一個索引項,索引項的地址指示結點所在的的存儲位置;稀疏索引:一組結點在索引表中只對應一個索引項,索引項的地址指示一組結點的起始存儲位置。
4、散列存儲方法:就是根據結點的關鍵字直接計算出該結點的存儲地址。
(4)順序存儲可以實現順序存取嗎擴展閱讀
順序存儲和鏈接存儲的基本原理
在順序存儲中,每個存儲空間含有所存元素本身的信息,元素之間的邏輯關系是通過數組下標位置簡單計算出來的線性表的順序存儲,若一個元素存儲在對應數組中的下標位置為i,則它的前驅元素在對應數組中的下標位置為i-1,它的後繼元素在對應數組中的下標位置為i+1。
在鏈式存儲結構中,存儲結點不僅含有所存元素本身的信息,還含有元素之間邏輯關系的信息。數據的鏈式存儲結構可用鏈接表來表示。其中data表示值域,用來存儲節點的數值部分。Pl,p2,…,Pill(1n≥1)均為指針域,每個指針域為其對應的後繼元素或前驅元素所在結點的存儲位置。
在數據的順序存儲中,由於每個元素的存儲位置都可以通過簡單計算得到,所以訪問元素的時間都相同;而在數據的鏈接存儲中,由於每個元素的存儲位置保存在它的前驅或後繼結點中,所以只有當訪問到其前驅結點或後繼結點後才能夠按指針訪問到,訪問任一元素的時間與該元素結點在鏈式存儲結構中的位置有關。
E. 棧只能順序存儲,這句話對嗎,為什麼
棧只能順序存儲,這句話不對。棧作為一種數據結構,是一種只能在一端進行插入和刪除操作的特殊線性表。允許進行插入和刪除操作的一端稱為棧頂(top),另一端為棧底(bottom)。
一個新元素只能從棧頂一端進入,刪除時,只能刪除棧頂的元素,即剛剛被插入的元素。所以棧也稱為後進先出表。線性表可以順序存儲,也可以鏈式存儲,因此棧也可以採用鏈式存儲結構。
(5)順序存儲可以實現順序存取嗎擴展閱讀:
棧是允許在同一端進行插入和刪除操作的特殊線性表。允許進行插入和刪除操作的一端稱為棧頂(top),另一端為棧底(bottom);棧底固定,而棧頂浮動;棧中元素個數為零時稱為空棧。插入一般稱為進棧(PUSH),刪除則稱為退棧(POP)。棧也稱為後進先出表。
在計算機系統中,棧則是一個具有以上屬性的動態內存區域。程序可以將數據壓入棧中,也可以將數據從棧頂彈出。在i386機器中,棧頂由稱為esp的寄存器進行定位。壓棧的操作使得棧頂的地址減小,彈出的操作使得棧頂的地址增大。
棧在程序的運行中有著舉足輕重的作用。最重要的是棧保存了一個函數調用時所需要的維護信息,這常常稱之為堆棧幀或者活動記錄。堆棧幀一般包含如下幾方面的信息:
1、函數的返回地址和參數。
2、臨時變數:包括函數的非靜態局部變數以及編譯器自動生成的其他臨時變數。
鏈式存儲結構的特點:
1、比順序存儲結構的存儲密度小(鏈式存儲結構中每個結點都由數據域與指針域兩部分組成,相比順序存儲結構增加了存儲空間)。
2、邏輯上相鄰的節點物理上不必相鄰。
3、插入、刪除靈活 (不必移動節點,只要改變節點中的指針)。
4、查找節點時鏈式存儲要比順序存儲慢。
5、每個節點是由數據域和指針域組成。
6、由於簇是隨機分配的,這也使數據刪除後覆蓋幾率降低,恢復可能提高。
順序存儲結構的主要優點是節省存儲空間,因為分配給數據的存儲單元全用存放結點的數據(不考慮c/c++語言中數組需指定大小的情況),結點之間的邏輯關系沒有佔用額外的存儲空間。
採用這種方法時,可實現對結點的隨機存取,即每一個結點對應一個序號,由該序號可以直接計算出來結點的存儲地址。但順序存儲方法的主要缺點是不便於修改,對結點的插入、刪除運算時,可能要移動一系列的結點。
參考資料:網路-棧
參考資料:網路-鏈式存儲結構
參考資料:網路-順序存儲結構
F. 線性表順序存儲怎麼是隨機存取 鏈式存儲反而是順序存取 想不通啊 求解
如果是順序存儲結構,可以通過下標直接訪問,與存儲位置無關,所以是隨機存取,比如說數組。
如果是鏈式存儲結構,不能通過下標訪問,只能按照存儲順序存取,所以是順序存取,比如說單鏈表。
要注意「存儲」和「存取」的不同。
G. 棧是不是順序存儲的線性結構啊
不一定。
棧分順序棧和鏈式棧。順序棧為棧的順序實現,順序棧為利用順序存儲結構實現的棧。
採用地址連續的存儲空間(數組)依次存儲棧中數據元素,由於人棧和出棧運算都是在棧頂進行,而棧底位置是固定不變的,可以將棧底位置設置在數組空間的起始處;棧頂位置為隨入棧和出棧操作而變化的,故需用一個整型變數top來記錄當前棧頂元素在數組中的位置。
鏈式棧為一種數據存儲結構,可以通過單鏈表的方式來實現,使用鏈式棧的優點在於它能夠克服用數組實現的順序棧空間利用率不高的特點,但是需要為每個棧元素分配額外的指針空間用來存放指針域。
(7)順序存儲可以實現順序存取嗎擴展閱讀
棧作為一種數據結構,為一種只能在一端進行插入和刪除操作的特殊線性表。它按照先進後出的原則存儲數據,先進入的數據被壓入棧底,最後的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據(最後一個數據被第一個讀出來)。棧具有記憶作用,對棧的插入與刪除操作中,不需要改變棧底指針。
在計算機系統中,棧為一個具有以上屬性的動態內存區域。程序可以將數據壓入棧中,也可以將數據從棧頂彈出。在i386機器中,棧頂由稱為esp的寄存器進行定位。壓棧的操作使得棧頂的地址減小,彈出的操作使得棧頂的地址增大。
H. 對於順序存儲的線性表,訪問結點和增加、刪除結點的時間復雜度為答案是O(1)和O(n)。為什麼
順序存儲可以實現「隨機存取」,因此訪問結點的時間復雜度為O(1),而插入、刪除結點由於涉及到大量移動元素,故其時間復雜度為O(n)。
用存儲結點的物理位置來體現結點之間的邏輯關系的存儲方法。在高級語言中,一塊連續的存儲空間通常可用一個數組來表示。因此,順序存儲通常用一個數據元素類型的數組來存儲。最經典的順序存儲結構是順序表,將線性結構的元素按序存放在一個數組中。
(8)順序存儲可以實現順序存取嗎擴展閱讀
數據元素之間的關系有兩種不同的表示方法:順序映象和非順序映象,並由此得到兩種不同的存儲結構:順序存儲結構和鏈式存儲結構。數據的存儲結構,也稱為數據的物理結構,是數據的邏輯結構在計算機中的實現。
鏈接存儲方法它不要求邏輯上相鄰的結點在物理位置上亦相鄰,結點間的邏輯關系是由附加的指針欄位表示的。由此得到的存儲表示稱為鏈式存儲結構,鏈式存儲結構通常藉助於程序設計語言中的指針類型來實現。數據的鏈式存儲結構可用鏈接表來表示。
I. 順序存儲方式能用於存儲什麼結構的數據
不是
順序存儲方式不僅能用於存儲線性結構,還可以用來存放非線性結構,例如完全二叉樹是屬於非線性結構,但其最佳存儲方式是順序存儲方式
J. 線性表的順序存儲結構是隨機存取的
可以參考下面幾種解釋
1、解釋一:
順序存儲結構的地址在內存中是連續的所以可以通過計算地址實現隨機存取,與此相對 鏈式存儲結構的存儲地址不一定連續,只能通過第個結點的指針順序存取
2、解釋二:
線性表的順序存儲結構可以通過線性表的首址加偏移的方法計算出來第i個數據的位置a+i*sizeof(單個結構)而線性表的鏈式存儲結構要訪問第i個數據,就必須先訪問前面的i-1個數據
(10)順序存儲可以實現順序存取嗎擴展閱讀:
線性表主要由順序表示或鏈式表示,在實際應用中,常以棧、隊列、字元串等特殊形式使用,順序表示指的是用一組地址連續的存儲單元依次存儲線性表的數據元素,稱為線性表的順序存儲結構或順序映像,順序存儲結構是隨機存取的。
鏈式表示指的是用一組任意的存儲單元存儲線性表中的數據元素,稱為線性表的鏈式存儲結構。它的存儲單元可以是連續的,也可以是不連續的。