牛客網 鍊錶 錯題集

2021-09-24 10:12:51 字數 1129 閱讀 8108

2023年6月23日

單向鍊錶佇列

使用鍊錶作為底層資料結構實現的佇列

適用於壓縮儲存稀疏矩陣的兩種儲存結構是

三元組表的結點儲存了行row、列col、值value三種資訊,是主要用來儲存稀疏矩陣的一種資料結構。

十字鍊錶將行單鏈表和列單鏈表結合起來儲存稀疏矩陣。

鄰接矩陣空間複雜度達o(n2),不適於儲存稀疏矩陣。

二叉鍊錶又名左孩子右兄弟表示法,可用於表示樹或森林。

廣義表簡稱表,它是線性表的推廣。乙個廣義表是n(n≥0)個元素的乙個序列,若n=0時則稱為空表。

設ai為廣義表的第i個元素,則廣義表gl的一般表示與線性表相同:

gl=(a1,a2,…,ai,…,an)

其中n表示廣義表的長度,即廣義表中所含元素的個數,n≥0。如果ai是單個資料元素,則ai是廣義表gl的原子;如果ai是乙個廣義表,則ai是廣義表gl的子表。

廣義表具有如下重要的特性:

(1)廣義表中的資料元素有相對次序;

(2)廣義表的長度定義為最外層包含元素個數;

(3)廣義表的深度定義為所含括弧的重數。其中原子的深度為0,空表的深度為1;

(4)廣義表可以共享;乙個廣義表可以為其他廣義表共享;這種共享廣義表稱為再入錶;

(5)廣義表可以是乙個遞迴的表。乙個廣義表可以是自已的子表。這種廣義表稱為遞迴表。遞迴表的深度是無窮值,長度是有限值;

(6)任何乙個非空廣義表gl均可分解為表頭head(gl) = a1和表尾tail(gl) = ( a2,…,an) 兩部分。

注意區別長度無窮大和無限列表,由於計算機資源的限制,長度無窮大的廣義表不能在計算機中實現。

但是如果考慮這樣乙個廣義表 e = (a, e) ——這是乙個遞迴的表,它的長度是 2 。e相當於乙個無限的列表 e = (a, (a, (a, …))),這個廣義表是可以在計算機中實現的。

單鏈表的儲存密度

儲存密度=單鏈表資料項所佔空間/結點所佔空間

靜態鍊錶

讓陣列的元素都是由data和cur兩個資料域組成。就是說,陣列的每乙個下標都對應乙個data和乙個cur。

資料域data用來存放資料元素,而游標cur相當於單鏈表中的next指標,存放該元素的後繼在陣列中的下標。我們把這種用陣列描述的鍊錶叫做靜態鍊錶。

待續。。

8 31牛客網錯題集

已知 int m 10 int x m正確 int y 10 int z float t m 解析 引用就是某一變數 目標 的乙個別名,對引用的操作與對變數直接操作完全一樣。引用的宣告方法 型別識別符號 引用名 目標變數名 舉個例子 int a int ra a 定義引用ra,它是變數a的引用,即別...

牛客網錯題錦集day3

1.css 樣式,通過設定左和右 auto 可以把塊元素調整到中間位置。2.下面哪條宣告能固定背景 a a.background attachment fixed b.background attachment scroll c.background origin initial d.backgro...

牛客網 錯題整理(4)

錯題集 1.沒用引數的兩個函式是不能過載的.說法是否正確?答案 錯誤 解析 const 可以構成過載 2.math.round 11.5 等於 答案 12 解析 首先要注意的是它的返回值型別是long,如果 math.round 11.5f 那它的返回值型別就是int,這一點可以參考api 其次它返...