第一章習題答案
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 簡述下列概念 資料 資料元素 資料型別 資料結構 邏輯結構 儲存結構 線性結構 非線性結構。資料 指能夠被計算機識別 儲存和加工處理的資訊載體。資料元素 就是資料的基本單位,在某些情況下,資料元素也稱為元素 結點 頂點 記錄。資料元素...