資料結構課後答案老師給的

2021-03-04 09:23:01 字數 2702 閱讀 1376

第一章習題答案

2、××√

3、(1)包含改變量定義的最小範圍

(2)資料抽象、資訊隱蔽

(3)資料物件、物件間的關係、一組處理資料的操作

(4)指標型別

(5)集合結構、線性結構、樹形結構、圖狀結構

(6)順序儲存、非順序儲存

(7)一對

一、一對多、多對多

(8)一系列的操作

(9)有限性、輸入、可行性

4、(1)a(2)c(3)c

5、語句頻度為1+(1+2)+(1+2+3)+…+(1+2+3+…+n)

第二章習題答案

1、(1)一半,插入、刪除的位置

(2)順序和鏈式,顯示,隱式

(3)一定,不一定

(4)頭指標,頭結點的指標域,其前驅的指標域

2、(1)a(2)a:e、a

b:h、l、i、e、a

c:f、m

d:l、j、a、g或j、a、g

(3)d(4)d(5)c(6)a、c

3、頭指標:指向整個鍊錶首位址的指標,標示著整個單鏈表的開始。

頭結點:為了操作方便,可以在單鏈表的第乙個結點之前附設乙個結點,該結點的資料域可以儲存一些關於線性表長度的附加資訊,也可以什麼都不存。

首元素結點:線性表中的第乙個結點成為首元素結點。

4、已知順序表l遞增有序,寫演算法將x插入到線性表的適當位置上,以保持線性表的有序性

int linser(seqlist *l,int x)

5、寫一演算法,從順序表中刪除自第i個元素開始的k個元素

#define ok 1

#define error 0

int ldel(seqlist *l,int i,int k)

if((i+k)==(l->last+2))

else

}6、演算法如下:

#define ok 1

#define error 0

int delet(linklist l,int mink,int maxk)

else

}9、假設有乙個迴圈鍊錶的長度大於1,且表中既無頭結點也無頭指標。已知s為指向鍊錶摸個結點的指標,編寫演算法在鍊錶中刪除指標s所在結點的前驅結點

int dele(node *s)

else

else

while(p->next->next!=s)

p=p->next;

p->next=s;

free(p);

return 1;

} }

}第三章習題答案

2、(1)

3、棧有順序棧和鏈棧兩種儲存結構。

在順序棧中,棧頂指標top=-1時,棧為空;棧頂指標top=stacksize-1時,棧為滿。

在帶頭結點鏈棧中,棧頂指標top-〉next=null,則代表棧空;只要系統有可用空間,鏈棧就不會出現溢位,既沒有棧滿。

5、#include

#include "stdio.h"

void main( )

while(ch!='@'&&!isempty(&s))

if(!isempty(&s))

printf("no!\n");

else

}12、(1)功能:將棧中元素倒置。

(2)功能:刪除棧中的e元素。

(3)功能:將佇列中的元素倒置。

第四章習題答案

1、strlength(s)操作結果為14;substring(sub1,s,1,7)操作結果為sub1=』i am a 』;

substring(sub2,s,7,1)操作結果為sub2=』 』;strindex(s,』a』,4) 操作結果為5;

strreplace(s,』student』,q) 操作結果為』i am a worker』;

strcat(strcat(sub1,t), strcat(sub2,q)) 操作結果為』i am a good worker』;

2、int strreplace(sstring s,sstring t,sstring v)

while(i);

return ok;}

第五章習題答案

1、(1)陣列a共占用48*6=288個位元組;

(2)陣列a的最後乙個元素的位址為1282;

(3)按行儲存時loc(a36)=1000+[(3-1)*8+6-1]*6=1126

(4)按列儲存時loc(a36)=1000+[(6-1)*6+3-1]*6=1192

9、(1)(a,b)(2)((c,d))(3)(b)(4)b(5)(d)

10、d

第六章習題答案

1、三個結點的樹的形態有兩個;三個結點的二叉樹的不同形態有5個。

2、略3、證明:分支數=n1+2n2+…+knk1)

n= n0+n1+…+nk2)

n=分支數+13)

將(1)(2)代入(3)得

n0= n2+2n3+3n4+…+(k-1)nk+1

4、注:c結點作為d的右孩子(畫圖的時候忘記了,不好意思)

5、n0=50,n2=n0-1=49,所以至少有99個結點。

6、(1)前序和後序相同:只有乙個結點的二叉樹

(2)中序和後序相同:只有左子樹的二叉樹

(3)前序和中序相同:只有右子樹的二叉樹

7、證明:∵n個結點的k叉樹共有nk個鏈域,分支數為n-1(即非空域)。

空域=nk-(n-1)=nk-n+1

資料結構課後習題答案

5 選擇題 ccbdca 6 試分析下面各程式段的時間複雜度。1 o 1 2 o m n 3 o n2 4 o log3n 5 因為x 共執行了n 1 n 2 1 n n 1 2,所以執行時間為o n2 6 o 1 選擇題 babadbcabdcddac 2 演算法設計題 6 設計乙個演算法,通過一...

資料結構課後習題答案

1.填空 是資料的基本單位,在電腦程式中通常作為乙個整體進行考慮和處理。解答 資料元素 是資料的最小單位,是討論資料結構時涉及的最小資料單位。解答 資料項,資料元素 分析 資料結構指的是資料元素以及資料元素之間的關係。從邏輯關係上講,資料結構主要分為和 解答 集合,線性結構,樹結構,圖結構 資料的儲...

資料結構課後習題答案總結

第一章第1章作業 1.1,1.2,1.6 1 3 1.8 1.1 簡述下列概念 資料 資料元素 資料型別 資料結構 邏輯結構 儲存結構 線性結構 非線性結構。資料 指能夠被計算機識別 儲存和加工處理的資訊載體。資料元素 就是資料的基本單位,在某些情況下,資料元素也稱為元素 結點 頂點 記錄。資料元素...