軟考(軟件設計世)知識點彙總(二)——數據結構基礎之線性表

一、線性表:

**1.定義:**線性表是N個元素的有限序列,通常記爲(a1,a2,a3,a4……an);
2.特點:(1)存在唯一的表頭和表位;(2)除表頭外,表中的每一個元素均只有唯一的直接前驅。(3)除表尾外,表中的每一個元素,只有唯一的直接後繼。
3.存儲結構:
(1)順序結構:用一組地址連續的存儲單元一次存儲線性表中的數據元素,從而使得邏輯關係相鄰的元素在物理位上也相鄰。
優點:可以隨機存取表中的元素;缺點:插入和刪除要移動大量元素。
(2)鏈式結構:用節點來存取數據元素,結點的空間可以是連續的,也可以是不連續的,因此存儲數據元素的同時必須存儲元素之間的邏輯關係。
優點:插入和刪除方便;缺點:增加存儲空間開銷,不能隨機訪問。
幾種鏈表結構:(1)雙向鏈表(2)循環鏈表 (3)靜態鏈表
4.線性表的插入和刪除運算:
(1)基於順序存儲結構的運算:插入後,需要挪用其它元素。
(2)基於鏈式存儲結構的元素:是指是相關的指針的修改。

二、棧:

棧是通過一端來實現數據結構存儲和檢索的一種線性表。
棧的修改是按先進後出的。
棧的順序結構是指用以租地址連續的存儲單元一次存儲自棧頂到棧底的數據元素,同時設置針top指示棧頂元素的位置。
鏈表作爲存儲結構的棧稱爲鏈棧:棧中元素的插入和刪除,僅在棧頂一端經行,因此不必設置頭結點,鏈表的頭指針是棧頂定指針。

三、隊列:

隊列是一種先進先出(FIFO)的線性表,它只允許在表的一端插入元素,而在表的另一端刪除元素。允許插入元素的一端稱爲隊尾,允許刪除元素的一端稱爲隊頭。
隊列的存儲結構:
(1)順序結構:利用一組地址連續的存儲單元存放隊列中元素。由於隊列中元素的插入和刪除限定在隊列的兩端進行,因此設置隊頭指針和隊尾指針,分別指示當前隊首元素和隊尾元素。
(2)鏈表結構:爲了便於操作,給鏈隊列添加一個頭結點,並令頭指針向頭結點。
隊列爲空的判定條件:頭指針和尾指針的值相同,且均指向頭結點。

四、串

由字符構成的有限序列,是取值範圍受限的線性表。
一般記爲:S=“a1a2a3…an”;其中S是串名,a1a2a3…an是串值。
空串:長度爲0的串.。如:“”;
空字符串:有一個或多個空格組成的串。列如:" ";
子串:由串中任意長度的連續字符構成的序列,含有子串的串稱爲主串。列:主串。”abcdcc“;子串:”cd“;
串相等:兩個串長度相等且對應位置上的字符也相同。
串比較:兩個串比較大小時以字符的ascii碼值作爲依據。
串的存儲結構:
(1)串的順序存儲:用一組地址連續的存儲單元來存儲串列的字符串。
(2)串的鏈式存儲:當用鏈表存儲串的字符時,每個結點中可以存儲一個字符,也可以存儲多個字符。要考慮存儲密度的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章