数据结构作业(C 语言版)习题
1.4,试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。
复数:
ADT Triplet
{
D={r,i|r,i 为实数}
R={}
InitComplex(&C,re,im)
}ADT Complex
有理数:
ADT Triplet
{
D={c1,c2,c3 | c1,c2,c3∈Z,c3≠0};
R={};
C3=c1/c2;
}ADT Triplet
1.9 假设n 为2的乘幂,并且n >2,试求下列算法的时间复杂度及变量count 的值(以n 的函数形式表示)。
int Time (int n){
count=0;x=2;
while(x <n/2){
x*=2;count++;
}
return(count)
}//Time
解:)(log 2n o
count=2log 2 n
1.16 试写一算法,自大至小依次输出顺序读入的三个整数X ,Y 和Z 的值。
Void bubble-sort(int a[X,Y ,Z],int i){
for (i=n-1,change=TRUE; i ≥&&change; --i){
change=FALSE;