数据结构形成性考核册第1次作业参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》形成性考核册第1次作业参考答案第一章绪论
一、填空题
1、数据操作
2、集合结构线性结构
树型结构图形结构
3、引用类型
4、1:1 1:n n:m
5、不对
6、多个
7、O(m*n)
8、时间复杂度
空间复杂度
9、顺序链接索引散列
10、O(n2)
11、O(n)
12、O(n)O(m*n)
二、选择题1~8:DBABADDD
三、应用题
(1)功能:判断n是否是一个素数,若是则返回数值1,否则返回0。时间复杂度:O(n)。
(2)功能:计算S=1!+2!+…+n!的值。时间复杂度:O(n)。
(3)功能:计算S=1!+2!+…+n!的值。时间复杂度:O(n2)。
(4)求出满足不等式1+2+…+i≥n的最小i值。O(n)。
第二章线性表
四、填空题
1、A[P-1]
2、108
3、前驱后继
4、最后一个表头
5、p->next=q->next
q->next=p
6、HL->next=NULL
HL->next=HL
7、P->next
8、Q->next
9、P->next s
10、从前向后前移n-i
11、O(1)O(n)
12、(n+1)/2
13、O(n)O(1)
14、A[P].next
15、a[j].next=a[i].next
a[i].next=j
16、数据值指针
五、选择题1~5:BDDBC
六、应用题
1、(1)、(79,62,34,57,26,48)(2)、(26,34,48,57,62,79)(3)、(48,56,57,62,79,34)(4)、(56,57,79,34)
(5)、(26,34,39,48,57,62)
2、(1)将类型为List的线性表L中第i个元素移至表尾位置的算法,L中的元素类型为ElemType,假定不需要对i的值进行有效性检查。
void move (List& L, int i)
{
ElemType x=L.list[ i-1];
for(int j=i; j L.list[ j-1]=L.list[ j ]; L.list[L.size-1]=x; } ·将线性表L中的第i个元素移入表头的算法与上类似。 (2)在单链表HL中计算数值域为x的结点个数的算法。 ElemType num( LNode *HL, ElemType x ) { int k = 0; LNode *P=HL while (P != NULL) { if (P->data= =x) k++; P=P->next; } return k; }(3)单链表的逆置算法; void inverse(LNode * & HL) { LNode *q, * p=HL; HL=NULL; while (p!=NULL) { q=p ; p=p->next ; q->next=HL; HL=q ; } } (4)删除一个有序的单链表中其值重复的元素,使链表中所有元素的值均不同的算法。 void del(LNode * &HL) { LNode *p=HL,q; if (HL!=NULL) While (p->next!=NULL) if (p->data!=p->next->data) p=p->next; else { q=p->next ; p->next=q->next; delete q; } } (5)查找单链表中第i个元素的值的算法,如果给定的i值不合法或链表为空等异常情况返回空值NULL; ElemType GetANode ( Lnode *HL, int i ) { if ( i < 1 ) return NULL; int k = 1; while (HL != NULL && k < i ) {HL =HL->next; k++; } if (HL!=NULL) return HL->data; else return NULL; } 《数据结构》形成性考核册第2次作业参考答案 第三章稀疏矩阵和广义表 1、行号 2、行号列号元素值 3、3 3 4、(a,(b,( ),c),((d),e))( ) 5、单表 6、((1,3,2),(2,1,3),(3,3,-1), (3,4,5)) 7、行列 8、4 5 9、括号 10、错误 二、选择题1~6:BCDBCB 三、应用题 1、 (1)三元组线性表为:((1,2,4),(2,4,-3),(2,7,1),(3,1,8),(4,4,5),(5,2,-7),(5,6,2),(6,4,6)) (3)转置矩阵的三元组线性表为:((1,3,8),(2,1,4),(2,5,-7),(4,2,-3),(4,4,5),(4,6,6),(6,5,2),(7,2,1)) 2、 链接存储结构图略。 第四章栈和队列 一、填空题 1、后进先出先进先出 2、顺序链接 3、(rear-front+N)%N 4、n-1 5、front==rear (rear+1)%QueueMaxSize==front 6、top++ 7、abc+*d- 8、HS==NULL 9、栈顶指针top==0 10、1 二、选择题1~5:CDACA