1015資料結構 小測1

2021-09-28 16:30:18 字數 1996 閱讀 5138

陣列 q[n]用來表示乙個迴圈佇列,front 為隊頭元素的前乙個位置,rear 為隊尾元素的位置,計算佇列中元素個數的公式為 ?。

答案:(rear-front+n)%n

解答:迴圈佇列中,rear-front 的結果可能是負整數,而對乙個負整數求模,其結果在不同的編譯器 環境中可能會有所不同。

二維陣列 a 中行下標是 10~20,列下標是 5~10,按行優先儲存,每個元素佔 4 個儲存單元,a[10][5]的儲存位址是 1000,則元素 a[15][10]的儲存位址是 。

答案:1140

解答:陣列a 中每行共有 6 個元素,元素 a[15][10]的前面共儲存了(15-10)×6+5 個元素, 每個元素佔 4 個儲存單元,所以,其儲存位址是 1000+140=1140。

乙個 n×n 的對稱矩陣,按列優先進行壓縮儲存,則其儲存容量為 。答案: n (n+1)/2

解答:對於對稱矩陣,行優先和列優先,其儲存容量是一樣的,1+2+…+n = n (n+1)/2。

帶頭結點的迴圈鍊錶 l 為空表的條件是 。

答案:l->next=l

解答:迴圈鍊錶沒有空指標,迴圈鍊錶為空時只有乙個頭結點,因此,頭結點的前驅指標指

回頭結點:l->next=l。

對於由 n 個元素組成的線性表,建立乙個單鏈表的時間複雜度是 。

答案:o(n)

在乙個單鏈表中,已知q 所指結點是 p 所指結點的直接前驅,若在q 和 p 之間插入 s 所指結點,則需要執行下列操作: 。

答案:q->next=s; s->next=p;

已知乙個棧的進棧序列是 1,2,3,…,n,其輸出序列是 p1,p2,…,pn,若 p1=n, 則 pi 的值是 。

答案:n-i+1

解答:當p1=n 時,輸出序列是唯一的,即為 n、n-1、…、2,1,則 p2=n-1,…,pn=1,推斷出 pi=n-i+1。

設目標串為 s=「abcabababaab」,模式串為 p=「babab」,則 kmp 模式匹配演算法的 next

陣列為 。

答案:

解答:next 陣列只與模式串 p 有關,計算過程如下表所示:

下列求解漢諾塔問題的遞迴程式,其時間複雜度為 。

void hanoi(int n, char a, char b, char c)

}答案:o(2n)

解答:從上述遞迴關係中可以看出

1 n=1

t(n)=

2t(n-1)+1 n>1

所以有t(n) = 2t(n-1)+1

=2 ( 2t(n-2)+1 ) +1 = 22 t(n-2)+21+1

=22 ( 2t(n-3)+1 )+21+1 = 23 t(n-3)+22+21+1

=……=2n-1 t(1)+2n-1+2n-2+……+20

=o(2n-1)

= o(2n)

已知單鏈表中各結點的元素值為整數且遞增有序,設計演算法」deletebetween」刪除鍊錶中所有大於 mink 且小於 maxk 的元素,並釋放被刪結點的儲存空間。

答案:

deletebetween

(node

*first,

int mink,

int maxk)

}

解答:因為是在有序單鏈表上的操作,所以,要充分利用其有序性。在單鏈表中查詢第乙個大於 mink 的結點和第乙個小於 maxk 的結點,再將二者間的所有結點刪除。

小甲魚 資料結構筆記1

程式設計 資料結構 演算法 資料結構研究的就是,資料元素相互之間存在的一種或多種特定關係的集合。傳統上,我們把資料結構分為邏輯結構和物理結構。1 邏輯結構 指資料物件中資料元素之間的相互關係。2 物理結構 指資料的邏輯結構在計算機中的儲存形式。四大邏輯結構 1 集合結構 集合結構中的資料元素除了同屬...

資料結構機測三

a基於鄰接矩陣的廣度優先搜尋遍歷 和 b圖的深度遍歷 int gra 101 101 int vis 101 ans 101 int k,m,t,cnt void bfs int begin for int i 0 i cnt i void dfs int begin int main cnt 0 ...

資料結構機測四

3378 資料結構實驗之查詢六 順序查詢 include int main if t 1 printf no n else printf d d n t 1,n t 資料結構實驗之查詢一 二叉排序樹 struct node int cnt void insert node root,int num ...