数据结构java语言和c语言_数据结构与算法——C语言和Java语言描述 ppt及答案和其他资源习题答案-修改标红.doc...

习题答案

第1章 绪论

1.填空题

(1) 线性结构、树型结构和图型结构

(2) 一对一、一对多和多对多

(3) 效率,人对算法阅读理解的难易程度,对于非法的输入数据,算法能给出相应的响应,而不是产生不可预料的后果

(4) 时间复杂度

2.选择题

(1) C (2) C

3.简答题

程序1

答案:n-1,O(n)

程序2

答案: n-1 O(n)

程序3

答案: 11* n+1, O(n)(n为初始值100)

程序4

答案: , O()

第2章

1.填空题

(1)顺序存储和链式存储(2) addr+m*i(3)n-i+1

(4) 1<=i

2.选择题

(1) B

(2) A C

(3) B

第3章

1.填空题

(1) 1,2,4

(2)push,pop,push,push,pop,push,pop,pop

(3) 栈空;栈满。

(4) s.top -- ; s.top ++ 。

(5) 队尾 , 队头 。

(6) q.front==q.rear , q.front==(q.rear+1)%MaxSize 。

(7) 21 。

2.选择题

D C A B A D C C

3.

(1)算法设计题基本操作如下:

进队

void AddQueue(CirQueue* q, int r, int f, int x)

{

Push(q,f,r,x,2)

}

出队

Void RemoveQueue(CirQueue* q, int r, int f)

{

Pop(q,f,r,1)

}

将x下推进栈i(i=1,2)

Void Push(stack * s, int t1, int t2,int x,int i)

{

if (t2+1) mod n == t1

printf(“栈满”)

else

{

if (i==1)

{a[t1]=x?;

t1=(t1-1)mod n?;

}

else

{

t2=(t2+1)mod n?;

a[t2]=x?;

}

}

}

将栈i(i=1,2)的栈顶元素上托出栈

Void Pop (stack * s, int t1, int t2,int i)

{

if (t1==t2)

printf(“栈空”)

else

{

if (i==1)

{

t1=(t1+1)mod n?;

}

else

{

t2=(t211)mod n?;

}

}

}

(2)约瑟夫环

//约瑟夫环

public void YueSeFu(int n,int k,int m) {

int i;

for(i=1;i<=n;i++)

AddQueue(q,i);//q为定义的顺序队列

//前k个元素先出队再入队

for(i=1;i

Object x=DelQueue(q);//出队

AddQueue(q,x);//入队

}

printf("出队序列:\n");

while(!notEmpty()){

for(i=1;i

Object x= DelQueue(q);

AddQueue(q,x);}

//第m个出队并打印

Object x= DelQueue(q);

printf(“%d ”,x);

}

}

第4章

1.填空题

(1) 两个串的长度相等 和 对应位置的字符相等 。

(2) 含有n个字符的有限序列n>=0 。

(3) 不含任何字符的串 。

(4) 仅含空格字符的字符串 。

(5) 固定长度 , 设置长度指针 。

2. 选择题

(BBD)

3. 简答题

(1)解答:不含任何字符的串称为空串,其串长度为零;仅含有空格字符的串称为空格串,它的长度为串中空格符的个数。

空格符在字符串中可用来分隔一般的字符,便于阅读和识别,但空格符会占用有效串长。

空串在处理过程中可用于作为任意字符串的子串。

(2)

解答:

StrLength(s)=14,

StrLength(t)=4,

SubString(s,7,7)= ’STUDENT’,

SubString(t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值