當前位置:首頁 » 存儲配置 » 數據結構鏈式存儲結構

數據結構鏈式存儲結構

發布時間: 2022-06-13 16:26:02

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

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

『貳』 1 簡述數據結構的4種邏輯結構和4種物理結構的特點,並舉例說明。 2. 簡述順序存儲結構和鏈式存儲結構的優

4種邏輯結構及特點:

集合
集合中任何兩個數據元素之間都沒有邏輯關系,組織形式鬆散。

線性結構
線性結構中的
結點按邏輯關系依次排列形成一個「鎖鏈」。

樹形結構
樹形結構具有分支、層次特性,其形態有點象自然界中的樹。

圖狀結構
圖狀結構中的結點按邏輯關系互相纏繞,任何兩個結點都可以鄰接
數據結構的物理結構是指邏輯結構的存儲鏡像(image)。

『叄』 線性表的鏈式存儲結構是一種()存儲結構

線性表的鏈式存儲結構是一種順序存儲的存儲結構。

線性表的鏈式存儲結構中的每一個存儲結點不僅含有一個數據元素,還包括指針,每一個指針指向一個與本結點有邏輯關系的結點,此類存儲方式屬於順序存儲;線性表是最基本、最簡單、也是最常用的一種數據結構。線性表(linear list)是數據結構的一種,一個線性表是n個具有相同特性的數據元素的有限序列。

(3)數據結構鏈式存儲結構擴展閱讀:

線性表中數據元素之間的關系是一對一的關系,即除了第一個和最後一個數據元素之外,其它數據元素都是首尾相接的(注意,這句話只適用大部分線性表,而不是全部。

比如,循環鏈表邏輯層次上也是一種線性表(存儲層次上屬於鏈式存儲,但是把最後一個數據元素的尾指針指向了首位結點)。

『肆』 鏈式存儲結構屬於線性結構還是非線性的存儲結構

鏈表是線性表的鏈式存儲結構
線性表的鏈式存儲表示的特點是用一組任意的存儲單元存儲線性表的數據元素(這組存儲單元可以是連續的,也可以是不連續的)。因此,為了表示每個數據元素與其直接後繼數據元素
之間的邏輯關系,對數據元素來說,除了存儲其本身的信息之外,還需存儲一個指示其直接後繼的信息(即直接後繼的存儲位置)。由這兩部分信息組成一個「結點」,表示線性表中一個數據元素

鏈表(Linked
list)是一種常見的基礎數據結構,是一種線性表,但是並不會按線性的順序存儲數據,而是在每一個節點里存到下一個節點的指針(Pointer)。由於不必按順序存儲,鏈表在插入的時候可以達到O(1)的復雜度,比另一種線性表:順序錶快得多,但是查找一個節點或者訪問特定編號的節點則需要O(n)的時間,而順序表相應的時間復雜度分別是O(logn)和O(1)。
使用鏈表結構可以克服數組鏈表需要預先知道數據大小的缺點,鏈表結構可以充分利用計算機內存空間,實現靈活的內存動態管理。但是鏈表失去了數組隨機讀取的優點,同時鏈表由於增加了結點的指針域,空間開銷比較大。在計算機科學中,鏈表作為一種基礎的數據結構可以用來生成其它類型的數據結構。
鏈表通常由一連串節點組成,每個節點包含任意的實例數據(data
fields)和一或兩個用來指向明上一個/或下一個節點的位置的鏈接("links")。鏈表最明顯的好處就是,常規數組排列關聯項目的方式可能不同於這些數據項目在記憶體或磁碟上順序,數據的存取往往要在不同的排列順序中轉換。而鏈表是一種自我指示數據類型,因為它包含指向另一個相同類型的數據的指針(鏈接)。鏈表允許插入和移除表上任意位置上的節點,但是不允許隨機存取。
鏈表有很多種不同的類型:單向鏈表,雙向鏈表以及循環鏈表。鏈表可以在多種編程語言中實現。像Lisp和Scheme這樣的語言的內建數據類型中就包含了鏈表的存取和操作。程序語言或面向對象語言,如C,C++和Java依靠易變工具來生成鏈表。

『伍』 大學數據結構專業課的一個問題,線性表鏈式存儲結構的基本原理是什麼詳細一點

鏈表是一種採用鏈式存儲結構存儲的線性表。對鏈式存儲方式的優點是存儲密度大,且插入、刪除運算效率高。選項:1、錯順序存儲是一種隨機存取的數據結構。2、對二維數組是其數據元素為線性表的線性表。2、對棧和隊列是一種線性數據結構。2、對對於只在表的首、尾進行插入操作的線性表,宜採用的存儲結構為:()c、用尾指針表示的單循環鏈表線性表L在()情況下適用於使用鏈式結構實現。b、需不斷對L進行刪除插入向一個有115個元素的順序表中插入一個新元素並保持原來順序不變,平均要移動()個元素。b、57.5以下哪一個不是隊列的基本運算?b、從隊列中刪除第i個元素線性表若採用鏈式存儲結構時,要求內存中可用存儲單元的地址:d、連續或不連續都可以以下關於廣義表的敘述中,正確的是:()a、廣義表是由0個或多個單元素或子表構成的有限序列

『陸』 鏈式儲存結構

鏈式存儲結構 藉助指示元素存儲地址的指針表示數據元素之間的邏輯關系。 鏈式存儲結構藉助指示元素存儲地址的指針表示數據元素之間的邏輯關系。

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

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

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

(7)數據結構鏈式存儲結構擴展閱讀:

1、邏輯結構

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

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

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

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

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

2、存儲結構

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

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

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

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

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

『捌』 鏈式結構是什麼

鏈式結構是為了解決線性結構中間插入數據速度不友好而提出的解決方法,對初始化的數據添加next屬性,使得它指向下一個節點,這樣需要添加數據或者刪除數據(完全刪除,非重置為None)只需要將鏈式結構打斷並重新連接即可實現,不過需要犧牲線性結構的快速查詢性能。

鏈式結構特點:

1、比順序存儲結構的存儲密度小(鏈式存儲結構中每個結點都由數據域與指針域兩部分組成,相比順序存儲結構增加了存儲空間)。

2、邏輯上相鄰的節點物理上不必相鄰。

3、插入、刪除靈活 (不必移動節點,只要改變節點中的指針)。

4、查找節點時鏈式存儲要比順序存儲慢。

5、每個節點是由數據域和指針域組成。

6、由於簇是隨機分配的,這也使數據刪除後覆蓋幾率降低,恢復可能提高。

7、它不要求邏輯上相鄰的元素在物理位置上也相鄰,因此它沒有順序存儲結構所具有的弱點,但也同時失去了順序表可隨機存取的優點。

『玖』 試舉一個數據結構的例子,敘述其邏輯結構和存儲結構

例如有一張學生基本信息表,包括學生的學號、姓名、性別、籍貫、專業等。每個學生基本信息記錄對應一個數據元素,學生記錄按順序號排列,形成了學生基本信息記錄的線性序列。

對於整個表來說,只有一個開始結點(它的前面無記錄)和一個終端結點(它的後面無記錄),其他的結點則各有一個也只有一個直接前趨和直接後繼。學生記錄之間的這種關系就確定了學生表的邏輯結構,即線性結構。 這些學生記錄在計算機中的存儲表示就是存儲結構。

如果用連續的存儲單元(如用數組表示)來存放這些記錄,則稱為順序存儲結構;如果存儲單元不連續,而是隨機存放各個記錄,然後用指針進行鏈接,則稱為鏈式存儲結構。 即相同的邏輯結構,可以對應不同的存儲結構。

系統的邏輯結構是對整個系統從思想的分類,把系統分成若干個邏輯單元,分別實現自己的功能。一般在系統開發時,邏輯結構往往都由架構師完成。系統的邏輯結構對系統的開發起到重要性的決定。

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

熱點內容
途樂有哪些越野配置 發布:2024-05-19 22:49:53 瀏覽:671
php檢測變數 發布:2024-05-19 22:45:31 瀏覽:321
結構與演算法 發布:2024-05-19 22:32:22 瀏覽:587
ubuntuphp版本 發布:2024-05-19 21:59:12 瀏覽:928
解壓文案館 發布:2024-05-19 21:58:54 瀏覽:870
蘇寧訪問數 發布:2024-05-19 21:53:49 瀏覽:580
濕地下載ftp 發布:2024-05-19 21:46:10 瀏覽:487
java二分查找演算法 發布:2024-05-19 21:37:38 瀏覽:347
所有編程語言 發布:2024-05-19 21:33:55 瀏覽:665
c語言1到10的階乘的和 發布:2024-05-19 21:32:25 瀏覽:628