文章
26
粉丝
0
获赞
0
访问
1.4k
(1)采用类似桶排序的思想,将连表内数据放入数组a中。以题目例子为例:
p指针不空则存入a[0]=21,a[1]=-15,判断a[0]的绝对值是否等于a[1]的绝对值,不等,指针后移,继续存取
a[2]=15,分别判断a[2]与a[0],a[2]与a[1]绝对值是否相等,此时发现a[2]=a[1],则删除此时指针指向的结点,指针后移,直到指针为空,跳出循环
(2)
(3)
LNode del ( int m , &L )
int a[m]; int i=0 ; int j;
p=Head->next;
while (p!=Null){
a[i]=L.data;
for ( j=0; j<i ; j++){
if (a[i]==a[j])
i--; m--;
}
i++;
}
}
(4)
时间复杂度 O(n^2)
空间复杂度 O(m)
评分及理由
(1)得分及理由(满分3分)
得分:1分
理由:学生提出了使用数组记录已出现元素的基本思路,这与标准答案的空间换时间思想有相似之处。但是学生的描述不够清晰准确,没有明确说明如何利用数组进行快速查找,而是采用了逐个比较的方法,这会导致效率较低。基本思路描述不完整且存在效率问题,扣2分。
(2)得分及理由(满分2分)
得分:0分
理由:学生完全没有给出单链表结点的数据类型定义,此题得0分。
(3)得分及理由(满分8分)
得分:2分
理由:学生给出了算法的大致框架,使用了数组存储链表元素,并尝试通过双重循环比较绝对值。但存在以下严重...
登录后发布评论
暂无评论,来抢沙发