数据结构作业习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构作业(C语言版)习题
,试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义子、分母均为自然数且分母不为零的分数) 。
复数:
ADT Trip let
{
D={r,i|r,i 为实数}
R={
In itCo mp lex(&C,re,im)
}ADT Comp lex
有理数:
ADT Trip let
{
D={c1,c2,c3 | c1,c2,c3 € 乙c3 丰 0};
R={
C3=c1/c2;
}ADT Trip let
假设n为2的乘幕,并且n> 2,试求下列算法的时间复杂度及变量count 数形式表示)。
int Time (int n){
coun t=0;x=2;
while(x < n/2){
x*=2;co un t++;
}
return(co unt)
o(log2 n)
log 2 n
2
(有理数是其分
的值(以n的函
*I
R
T
—
*
1
p
I
P
^T
Q
T
Q
X
—
Q
H
T
Q
L
7
T
—
一
*
p
7
r
n
n
-
I P
11)(3)(14)
b.(10)(12)(8)(11) (3)(14)
c.(10)(12 X7) (3)(14)
d.(12)(11)(3)(14)
e(9)(11)(3)(14)
a.(7)(12)(6)(3)
b.(8)(13)(5)(4)
c.(15)(1)(11)(18)
d.(16)(2)(10)(18)
e.(9)(14)(17)
Status DeleteK(SqList &a,int i,int k)
{
int j;
if(i<0||i>||k<0||k> return INFEASIBLE; for(j=0;j<=k;j++) [j+i]=[j+i+k];
return OK;
}
. 解:
int LocateElem_L(LinkList &L,ElemType x)
{
int i=0;
LinkList p=L;
while(p&&p->data!=x)
p=p->next; i++;
}
if(!p) return 0; else return i;
. 解:
int ListLength_L(LinkList &L)
{
int i=0;
LinkList p=L;
if(p) p=p-next;
while(p){ p=p->next;
i++; }
return i;
(1)123 231 321 213 132
可以得到 135426 的出站序列,但不能得到 435612 的出站序列。因为 4356 出站说明 12
(1) 栈中的数据元素逆置
如果栈中存在元素 e ,将其从栈中清除
3. 12. 解: char
3. 13 解:队列逆置
. 解: (2)
已经在栈中, 1 不可能先于 2 出栈。
.解: stack
. 解:
(2)