當前位置:首頁 » 服務存儲 » 存儲結構的映射邏輯關系的方式
擴展閱讀
騰訊會員如何改默認密碼 2022-08-17 03:23:59
c語言輸出printf什麼意思 2022-08-17 03:22:58
電腦硬碟無法 2022-08-17 03:21:25

存儲結構的映射邏輯關系的方式

發布時間: 2022-07-06 18:59:26

『壹』 線性表的順序存儲結構是以什麼來表示數據元素之間的邏輯關系的

線性表是最基本、最簡單、也是最常用的一種數據結構。線性表(linear list)是數據結構的一種,一個線性表是n個具有相同特性的數據元素的有限序列。

線性表主要由順序表示或鏈式表示。在實際應用中,常以棧、隊列、字元串等特殊形式使用。

順序表示指的是用一組地址連續的存儲單元依次存儲線性表的數據元素,稱為線性表的順序存儲結構或順序映像(sequential mapping)。它以「物理位置相鄰」來表示線性表中數據元素間的邏輯關系,可隨機存取表中任一元素。

由此得到的存儲結構為順序存儲結構,通常順序存儲結構是藉助於計算機程序設計語言(例如c/c++)的數組來描述的。

順序存儲結構的主要優點是節省存儲空間,因為分配給數據的存儲單元全用存放結點的數據(不考慮c/c++語言中數組需指定大小的情況),結點之間的邏輯關系沒有佔用額外的存儲空間。

採用這種方法時,可實現對結點的隨機存取,即每一個結點對應一個序號,由該序號可以直接計算出來結點的存儲地址。但順序存儲方法的主要缺點是不便於修改,對結點的插入、刪除運算時,可能要移動一系列的結點。

推薦課程:C語言教程。

線性表順序存儲結構的結構代碼:

#define MAXSIZE 20

typedef int ElemType;

typedef struct

{

ElemType data[MAXSIZE];

int length; // 線性表當前長度

} SqList;

順序存儲結構封裝需要三個屬性:

存儲空間的起始位置,數組data,它的存儲位置就是線性表存儲空間的存儲位置。

線性表的最大存儲容量:數組的長度MaxSize。

線性表的當前長度:length。

注意:數組的長度與線性表的當前長度需要區分一下:數組的長度是存放線性表的存儲空間的總長度,一般初始化後不變。而線性表的當前長度是線性表中元素的個數,是會變化的。

線性表順序存儲結構的優缺點

線性表的順序存儲結構,在存、讀數據時,不管是哪個位置,時間復雜度都是O(1)。而在插入或刪除時,時間復雜度都是O(n)。

這就說明,它比較適合元素個數比較穩定,不經常插上和刪除元素,而更多的操作是存取數據的應用。

優點:

無須為表示表中元素之間的邏輯關系而增加額外的存儲空間。

可以快速地存取表中任意位置的元素。

缺點:

插上和刪除操作需要移動大量元素。

當線性表長度變化較大時,難以確定存儲空間的容量。

容易造成存儲空間的「碎片」

『貳』 數據的存儲結構

存儲結構就是物理結構,這沒有錯
存儲結構是邏輯結構的存放方式,這沒有錯

邏輯結構是看不見摸不著的,但是計算機又要對數據進行邏輯結構的操作,那這就很尷尬了,咋辦。
這時候存儲結構(也就是數據的物理結構)挺身而出,「哥來給你表示你的位置」
存儲結構的位置可以用數組或指針具體表示的

這時候就可以根據物理結構的存儲位置來對數據的邏輯結構進行操作
那麼二者肯定是要有聯系的
聯系:
邏輯結果是存儲結構(物理結構)的映射
存儲結構(物理結構)是邏輯結構的映像

就好比風是邏輯機構,縹緲見不著
那要把控它的位置,進行風向預測
那麼氣象台就根據某些手段進行控制,把風的具體位置給彰顯出來了。

『叄』 邏輯結構與存儲結構是什麼關系

存儲結構無非連續不連續兩種
邏輯結構可以很多
比如隊列(邏輯結構),可以用數組(連續)存儲,也可以用鏈表(不連續)存儲
同一種存儲結構可以理解成多種邏輯結構,這就是數據結構的精妙之處,學學數據結構就明白了其實不必死究這種名字的東西,理解用途就夠了

『肆』 何謂數據的邏輯結構何謂數據的存儲結構兩者有何聯系

邏輯結構指反映數據元素之間的邏輯關系的數據結構,其中的邏輯關系是指數據元素之間的前後件關系,而與他們在計算機中的存儲位置無關。邏輯結構包括:
1、集合結構:數據結構中的元素之間除了「同屬一個集合」
的相互關系外,別無其他關系。
2、線性結構:數據結構中的元素存在一對一的相互關系。
3、樹形結構:數據結構中的元素存在一對多的相互關系。
4、圖形結構:數據結構中的元素存在多對多的相互關系。
存儲結構指數據元素連同其邏輯關系在存儲器上的存放形式,主要的有四類:順序、鏈接、索引、散列。一種數據結構可表示成一種或多種存儲結構。
兩者的關系在於:邏輯結構用於設計演算法,存儲結構用於演算法編碼實現。具體而言某種存儲結構與某種邏輯結構沒有必然的聯系,演算法的實現效率越高、解決問題越方便。

(4)存儲結構的映射邏輯關系的方式擴展閱讀
數據結構是指同一數據元素類中各數據元素之間存在的關系。數據結構分別為邏輯結構、存儲結構(物理結構)和數據的運算。
數據的邏輯結構是從具體問題抽象出來的數學模型,是描述數據元素及其關系的數學特性的,有時就把邏輯結構簡稱為數據結構。邏輯結構是在計算機存儲中的映像,形式地定義為(K,R)(或(D,S)),其中,K是數據元素的有限集,R是K上的關系的有限集。
根據數據元素間關系的不同特性,通常有下列四類基本的結構:集合結構、線性結構、樹型結構、圖形結構。
線性結構的特點是數據元素之間是一種線性關系,數據元素「一個接一個的排列」。在一個線性表中數據元素的類型是相同的,或者說線性表是由同一類型的數據元素構成的線性結構。
線性表是最簡單、最基本、也是最常用的一種線性結構。
它有兩種存儲方法:順序存儲和鏈式存儲,它的主要基本操作是插入、刪除和檢索等。
數據結構在計算機中的表示(映像)稱為數據的物理(存儲)結構。它包括數據元素的表示和關系的表示。數據元素之間的關系有兩種不同的表示方法:順序映象和非順序映象,並由此得到兩種不同的存儲結構:順序存儲結構和鏈式存儲結構。
1、順序存儲方法:它是把邏輯上相鄰的結點存儲在物理位置相鄰的存儲單元里,結點間的邏輯關系由存儲單元的鄰接關系來體現,由此得到的存儲表示稱為順序存儲結構。順序存儲結構是一種最基本的存儲表示方法,通常藉助於程序設計語言中的數組來實現。
2、鏈接存儲方法:它不要求邏輯上相鄰的結點在物理位置上亦相鄰,結點間的邏輯關系是由附加的指針欄位表示的。由此得到的存儲表示稱為鏈式存儲結構,鏈式存儲結構通常藉助於程序設計語言中的指針類型來實現
3、索引存儲方法:除建立存儲結點信息外,還建立附加的索引表來標識結點的地址。
4、散列存儲方法:就是根據結點的關鍵字直接計算出該結點的存儲地址。
數據結構中,邏輯上(邏輯結構:數據元素之間的邏輯關系)可以把數據結構分成線性結構和非線性結構。
線性結構的順序存儲結構是一種順序存取的存儲結構,線性表的鏈式存儲結構是一種隨機存取的存儲結構。線性表若採用鏈式存儲表示時所有結點之間的存儲單元地址可連續可不連續。邏輯結構與數據元素本身的形式、內容、相對位置、所含結點個數都無關。
參考資料來源:搜狗網路:數據結構

『伍』 4種基本的存儲映射方法是哪四種

四種基本的存儲映射方法是順序存儲,鏈接的方法,索引的方法和散列的方法。
以上介紹的四種存儲方法還可以組合起來,一個邏輯結構有多種不同的存儲方案,要根據運算和演算法實現來確定。

『陸』 存儲結構有哪些

存儲結構有順序存儲和鏈接存儲。順序存儲和鏈接存儲是數據的兩種最基本的存儲結構。

1、順序存儲

順序存儲方法是把邏輯上相鄰的結點存儲在物理位置相鄰的存儲單元里,結點間的邏輯關系由存儲單元的鄰接關系來體現,由此得到的存儲表示稱為順序存儲結構。順序存儲結構是一種最基本的存儲表示方法,通常藉助於程序設計語言中的數組來實現。

2、鏈接存儲

鏈接存儲方法它不要求邏輯上相鄰的結點在物理位置上亦相鄰,結點間的邏輯關系是由附加的指針欄位表示的。由此得到的存儲表示稱為鏈式存儲結構,鏈式存儲結構通常藉助於程序設計語言中的指針類型來實現。

(6)存儲結構的映射邏輯關系的方式擴展閱讀:

數據的存儲結構是指數據的邏輯結構在計算機中的表示。數據元素之間的關系有兩種不同的表示方法:順序映象和非順序映象,並由此得到兩種不同的存儲結構:順序存儲結構和鏈式存儲結構。

儲存系統的層次結構為了解決存儲器速度與價格之間的矛盾,出現了存儲器的層次結構。

『柒』 鏈式存儲結構的特點是利用什麼來表示數據元素之間的邏輯關系

1。在線性表的順序存儲結構中,元素之間的邏輯關系是通過(元素的存儲地址)決定的;

2。在線性表的鏈接存儲中,元素之間的邏輯關系是通過(結點中的指針)決定的。

『捌』 什麼是指基於數據的邏輯結構和存儲結構的處理方法

基於數據的邏輯結構和存儲結構的處理方法指的是:

1、數據結構有邏輯上的數據結構和物理上的數據結構之分。邏輯上的數據結構反映成分數據之間的邏輯關系即邏輯結構,而物理上的數據結構反映成分數據在計算機內部的存儲安排即存儲結構。數據結構是數據存在的形式,利用二者的方法來處理數據。

2、數據的邏輯結構是對數據之間關系的描述,有時就把邏輯結構簡稱為數據結構。邏輯結構形式地定義為(K,R)(或(D,S)),其中,K是數據元素的有限集,R是K上的關系的有限集。

邏輯結構有四種基本類型:集合結構、線性結構、樹狀結構和網路結構。

3、數據結構的存儲結構是指邏輯結構的存儲映像(image)。數據結構DS的物理結構P對應於從DS的數據元素到存儲區M(維護著邏輯結構S)的一個映射。 

存儲結構是數據的邏輯結構用計算機語言的實現,常見的存儲結構有順序存儲,鏈式存儲,索引存儲,以及散列存儲。

(8)存儲結構的映射邏輯關系的方式擴展閱讀:

常用數據結構類型:

1、數組

在程序設計中,為了處理方便, 把具有相同類型的若干變數按有序的形式組織起來。這些按序排列的同類數據元素的集合稱為數組。

在C語言中, 數組屬於構造數據類型。一個數組可以分解為多個數組元素,這些數組元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可分為數值數組、字元數組、指針數組、結構數組等各種類別。

2、棧

棧是只能在某一端插入和刪除的特殊線性表。它按照先進後出的原則存儲數據,先進入的數據被壓入棧底,最後的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據(最後一個數據被第一個讀出來)。

3、隊列

隊列一種特殊的線性表,它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。隊列是按照「先進先出」或「後進後出」的原則組織數據的。隊列中沒有元素時,稱為空隊列。

4、鏈表

鏈表是一種物理存儲單元上非連續、非順序的存儲結構,它既可以表示線性結構,也可以用於表示非線性結構,數據元素的邏輯順序是通過鏈表中的指針鏈接次序實現的。

鏈表由一系列結點(鏈表中每一個元素稱為結點)組成,結點可以在運行時動態生成。每個結點包括兩個部分:一個是存儲數據元素的數據域,另一個是存儲下一個結點地址的指針域。

5、圖

圖是由結點的有窮集合V和邊的集合E組成。其中,為了與樹形結構加以區別,在圖結構中常常將結點稱為頂點,邊是頂點的有序偶對,若兩個頂點之間存在一條邊,就表示這兩個頂點具有相鄰關系。

參考資料來源:網路—數據結構

『玖』 如何根據數據的邏輯結構設計相應的存儲結構

邏輯結構將的是關系,比如集合,線性,非線性,都是元素或者結點之間的關系,而存儲結構講的是數據元素的表示和關系的表示.前一個是抽象的,後一個是具體的,可以實現的.
同一種邏輯結構採用不同的存儲方法,可以得到不同的存儲結構.比如線性結構採用採用順序存儲方法,就可以得到順序表,採用鏈式存儲方法就可以得到鏈表.

『拾』 在數據結構中,邏輯結構和存儲結構之間的關系

存儲結構是邏輯結構的存儲映像,邏輯結構指的是數據間的關系,它又分為線性結構和非線性結構,這兩者並不沖突。一個指的是數據之間的關系,而另一個指這種關系在計算機中的表現形式。兩者的區別就在於給他們定義的特殊操作,它們都有」出「和」入「兩種操作,一個是「先進先出」,而一個是「後進先出」。

一種邏輯結構在計算機里可以用不同的存儲結構實現。比如邏輯結構中簡單的線性結構,可以用數組(順序存儲)或單向鏈表(鏈接存儲)來實現。邏輯結構:指各數據元素之間的邏輯關系。存儲結構:就是數據的邏輯結構用計算機語言的實現。

(10)存儲結構的映射邏輯關系的方式擴展閱讀:

1、邏輯結構

是指數據之間的相互關系。通常分為四類結構:

集合:結構中的數據元素除了同屬於一種類型外,別無其它關系。

線性結構:結構中的數據元素之間存在一對一的關系。

樹型結構:結構中的數據元素之間存在一對多的關系。

圖狀結構:結構中的數據元素之間存在多對多的關系。

2、存儲結構

是指數據結構在計算機中的表示,又稱為數據的物理結構。通常由四種基本的存儲方法實現:

順序存儲方式。數據元素順序存放,每個存儲結點只含一個元素。存儲位置反映數據元素間的邏輯關系。存儲密度大。但有些操作(如插入、刪除)效率較差。

數據元素間的邏輯關系。這種方式不要求存儲空間連續,便於動態操作(如插入、刪除等),但存儲空間開銷大(用於指針),另外不能折半查找等。

索引存儲方式。除數據元素存儲在一組地址連續的內存空間外,還需建立一個索引表,索引表中索引指示存儲結點的存儲位置(下標)或存儲區間端點(下標)。

散列存儲方式。通過散列函數和解決沖突的方法,將關鍵字散列在連續的有限的地址空間內,並將散列函數的值解釋成關鍵字所在元素的存儲地址。其特點是存取速度快,只能按關鍵字隨機存取,不能順序存取,也不能折半存取。