線性表的鏈式存儲結構與
① 敘述線性表兩種存儲結構各自的主要特點
兩種存儲結構各自的主要特點
1、順序存儲結構:存儲單元地址連續,它以「物理位置相鄰」來表示線性表中數據元素間的邏輯關系,可隨機存取表中任一元素。
2、鏈式存儲結構:存儲單元地址為任意一組,它的存儲單元可以是連續的,也可以是不連續的。
在表示數據元素之間的邏輯關系時,除了存儲其本身的信息之外,還需存儲一個指示其直接後繼的信息(即直接後繼的存儲位置),這兩部分信息組成數據元素的存儲映像,稱為結點(node)。
(1)線性表的鏈式存儲結構與擴展閱讀:
線性表結構特點
1、均勻性
雖然不同數據表的數據元素可以是各種各樣的,但對於同一線性表的各數據元素必定具有相同的數據類型和長度。
2、有序性
各數據元素在線性表中的位置只取決於它們的序號,數據元素之前的相對位置是線性的,即存在唯一的「第一個「和「最後一個」的數據元素,除了第一個和最後一個外,其它元素前面均只有一個數據元素(直接前驅)和後面均只有一個數據元素(直接後繼)。
② 敘述線性表兩種存儲結構各自的主要特點
線性表的兩種存儲結構分別是順序存儲結構和鏈式存儲結構。
順序存儲結構的主要特點是:
(1)結點中只有自身的信息域,沒有關聯信息域。因此,順序存儲結構的存儲密度大、存儲空間利用率高。
(2)通過計算地址直接訪問任何數據元素,即可以隨機訪問。
(3)插入和刪除操作會引起大量元素的移動。
鏈式存儲結構的主要特點是:
(1)結點除自身的信息域外,還有表示關聯信息的指針域。因此,鏈式存儲結構的存儲密度小、存儲空間利用率低。
(2)在邏輯上相鄰的結點在物理上不必相鄰,因此,不可以隨機存取,只能順序存取。
(3)插入和刪除操作方便靈活,不必移動結點只需修改結點中的指針域即可。
③ 線性表鏈式存儲結構的優點和缺點有什麼
優點:插入和刪除操作不需要移動大量元素,不需預先分配空s間,由系統應需求即時生成。
缺點:增加了內存負擔,不可以隨機存取數據元素。
線性表按鏈式存儲時,每個數據元素 (結點)的存儲包括數據區和指針區兩個部分。數據區存放結點本身的數據,指針區存放其後繼元素的地址只要知道該線性表的起始地址表中的各個元素就可通過其間的鏈接關系逐步找到。
(3)線性表的鏈式存儲結構與擴展閱讀:
一個文件是存儲在多個在空間上也許並不相連的簇中的。這就是鏈式存儲。但是為了能夠讀取出這個文件,計算機會在該文件第一部分的尾部寫上第二部分所在的簇號。第二部分的尾部又寫上第三部分,以此類推,最後一部分寫上一段代碼,表示這是該文件的最後一部分。值得一提的是,高簇號在後。(如代碼所示的1234實為簇3412)文件所佔簇可認為是隨機分配的。
④ 線性表的鏈式存儲結構優於順序存儲結構
線性表的鏈式存儲結構優於順序存儲結構,這句話是錯誤的。
線性表的存儲結構:
線性表主要由順序表示或鏈式表示。在實際應用中,常以棧、隊列、字元串等特殊形式使用。順序表示指的是用一組地址連續的存儲單元依次存儲線性表的數據元素,稱為線性表的順序存儲結構或順序映像。它以「物理位置相鄰」來表示線性表中數據元素間的邏輯關系,可隨機存取表中任一元素。
鏈式表示指的是用一組任意的存儲單元存儲線性表中的數據元素,明純稱為線性表的鏈式存儲結構。它的存儲單元可以是連續的,也可以是不連續的。在表示數據元素之間的邏輯關系時,除了存儲其本身的信息之外,還需存儲一個指示其直接後繼的信息(即直接後繼的存儲位置),這兩部分信息組成數據元素的存儲映像,稱為結點(node)。
它包括兩個域:存儲數據元素信息的域稱為數激卜咐據域;存儲直接後繼存儲位置的域稱為指針域。指針域中存儲的信息稱為指針或鏈。
⑤ 線性表的鏈式存儲結構與順序存儲結構比較有何特點這兩種結構分別適合在什麼情況下使用
鏈式存儲結構適用於數據更改(添加,刪除)較多的情況。
而順序存儲結構更適用於數據查詢(改變某位置上數據的值,查找某位置上的值),各有各的優點,他們的缺點是:
鏈式結構上查找(查找第幾個位置上的值)花的系統開銷(主要是時間上的開銷)要比順序結構上的多,
而順序結構上要刪除某位置上的值或者在某位置添加數據時花的系統開銷要比在鏈式上多。
所以在選用存儲結構之前就要先考慮到以後對數據的操作主要是查詢多還是更改多!
⑥ 線性表鏈式存儲結構的優點和缺點有什麼
(1)鏈式存儲的優點。
①插入和刪除操作不需要移動大量元素,只需要修改指針即可。
②不需預先分配空間,由系統應需求即時生成。
(2)鏈式存儲的缺點。
①增設指示結點之間關系的指針域,增加了內存負擔。
②不可以隨機存取數據元素。
⑦ 線性表鏈式存儲結構是什麼
線性表是一種邏輯結構,它有兩種存儲方式,順序存儲和鏈式存儲。
順序存儲對應的是順序表,鏈式存儲對應的有單鏈表,雙鏈表,循環鏈表以及靜態鏈表。
其中,線性表的鏈式存儲又稱為單鏈表。
註:雙鏈表、循環鏈表等都是由單鏈表演化而來。
單鏈表:一個後繼指針,一個頭結點和頭指針。每一個結點是存儲下一個結點的存儲位置,因此最後一個結點存儲null,也就是空值。
雙鏈表:雙鏈表結點中有兩個指針,prior和next,即有前驅指針和後繼指針,分別指向前驅和後繼結點。
循環鏈表:循環鏈表和單鏈表的區別在於最後一個結點的指針不是null(回到單鏈表的知識去看一下吧),而是指向頭結點,從而整個鏈表成為了一個環。
循環雙鏈表:循環雙鏈表中頭結點的指針prior指針還要指向表尾結點。
註:在循環雙鏈表L中,當循環雙鏈表為空表時,其頭結點的prior域和next域都等於L。
靜態鏈表:靜態鏈表是藉助數組來描述線性表的鏈式存儲結構。結點有data域和指針域next。按照我的理解:其實靜態鏈表和單鏈表在結構上差不太多,但是靜態鏈表又和順序表很像,可以把靜態鏈表看作是單鏈表和順序表的結合吧。
鏈式存儲結構就這幾種了。
⑧ 線性表的鏈式存儲結構和順序存儲結構的區別
順序存儲結構就是用一組地址連續的存儲單元依次存儲該線性表中的各個元素.由於表中各個元素具有相同的屬性,所以佔用的存儲空間相同.因此,在內存中可以通過地址計算直接存取線性表中的任一元素.這種結構的特點是邏輯上相鄰的元素物理上也相鄰.用順序結構存儲的線性表稱作順序表.
線性表按鏈式存儲時,每個數據元素
(結點)的存儲包括數據區和指針區兩個部分.數據區存放結點本身的數據,指針區存放其後繼元素的地址
(沒有後繼元素時設置為空字元(Null)..只要知道該線性表的起始地址
(記錄在頭指針中),表中的各個元素就可通過其間的鏈接關系逐步找到