- 3
- 0
- 约小于1千字
- 约 30页
- 2020-07-24 发布于福建
- 举报
线性表习题
作业中普遍存在的问题
1.自己定义的数据类型不写出其定义,而直
接使用它定义变量;
2.混淆顺序表和链表的操作;
3.对函数的类型、形参类型以及形参个数不
斟酌,随意乱定
1.指出以下算法中的错误和低效(即费时)之处
并将它改为一个既正确又高效的算法,
nt Delete (sqList *a, int i, int k
{∥本过程从顺序存储结构的线性表a中删除第i个元素
起的k个元素
int count, ];
if(i1 l k0 l i+ka-length
return INFEASIBLE;∥参数不合法
else
i for(count=1; countk; count++)
∥删除一个元素
for(=a-length; j=i+1;j
a-elem[j-1]=a-elem[]
a-lenath
return OK
y//Delete
参考答案:
本题给岀的算法的低效之处在第二个循环,该算
法的
时间复杂度0(n)=k*(a→1 eng th-i)
本题给出的算法的错误之处有:
① countk:导致少删除一个元素
for(j=a-length; j=i+1;j--)
a-elem[j-1]=a-elem[l;
导致元素的搬移顺序逆反了。
原创力文档

文档评论(0)