2021 数据结构A(西南交通大学) 最新满分章节测试答案
- 第二章 线性表(一)(总时长:72分22秒,共6讲) 第二章 单元测试(1)
- 第二章 线性表(二)(总时长:59分37秒) 第二章 单元测试(2)
- 第三章 栈与队列(一)(总时长53分23秒) 第三章 单元测验(1)
- 第三章 栈与队列(二)(总时长:52分54秒) 第三章 单元测验(2)
- 第五章 数组与广义表(下)(总时长:57分05秒) 第五章 单元测试
- 第一章 绪论(总时长:56分26秒,共6讲) 第一章 单元测试
- 第六章 树和二叉树(上)(总时长:48分02秒) 第六章 单元测验1
- 第六章 树和二叉树(下)(总时长:112分28秒) 第六章 单元测验2
- 第七章 图(总时长:102分26秒) 第七章 单元测验
- 第八章 查找(总时长:73分53秒) 第八章 单元测验
本答案对应课程为:点我自动跳转查看
本课程起止时间为:2021-10-25到2022-01-02
本篇答案更新状态:已完结
第二章 线性表(一)(总时长:72分22秒,共6讲) 第二章 单元测试(1)
1、 问题:在长度为n的顺序表中的第i( 1 <= i <= n+1 )个位置上插入一个元素,其算法时间复杂度为( )。
选项:
A:O(logn)(以2为底)
B:O(1)
C:O(n)
D:O(n*n)
答案: 【O(n) 】
2、 问题:在长度为n的顺序表中的第i( 1 =< i <= n+1 )个位置上插入一个元素,需要移动的元素个数为( )。
选项:
A:n-i
B:i
C:n-i+1
D:n-i-1
答案: 【n-i+1】
3、 问题:链表不具有的特点是( )。
选项:
A:插入、删除不需要移动元素
B:可随机访问任一元素
C:不必事先估计存储空间
D:所需存储空间与线性表程度成正比
答案: 【可随机访问任一元素】
4、 问题:在一单链表中,删除指针p所指的后继结点,以下语句正确的是( )。
选项:
A:p->next=p->next->next; free(p->next);
B:free(p->next);p->next=p->next->next;
C: p=p->next;
D:s=p->next;p->next=s->next;free(s);
答案: 【s=p->next;p->next=s->next;free(s);】
5、 问题:假设删除长度为n的顺序表中的每个元素的概率相同,则删除一个元素平均要移动的元素个数是( )。
选项:
A:n
B:(n+1)/2
C:(n-1)/2
D:n/2
答案: 【(n-1)/2】
6、 问题:设某顺序表中第一个元素的地址是Base,每个结点占m个单元,则第i个结点的地址为( )。
选项:
A:Base+(i-1)×m
B:Base+i×m
C:Base-i×m
D:Base+(i+1)×m
答案: 【Base+(i-1)×m 】
7、 问题:长度为n的非空线性表采用顺序存储结构,在表的第i个位置插入一个数据元素,i的合法值应该是( )。
选项:
A:i>0
B:1≤i≤n+1
C:1≤i≤n-1
D:0≤i≤n+1
答案: 【1≤i≤n+1 】
8、 问题:非空单链表结点结构为【data,next】,若指针p所指结点是尾结点,则( )表达式为真。
选项:
A:p==NULL
B:p->next==NULL
C:p->next==P
D:p->next!=NULL
答案: 【p->next==NULL】
9、 问题:某顺序表的第一个元素的存储地址是500,每个元素占4个单元,则第8个元素的起始地址是( )。
选项:
A:504
B:508
C:516
D:528
答案: 【528】
10、 问题:在长度为n的顺序表中删除第i(1<=i<=n)个位置上的元素,需要移动的元素个数为( )。
选项:
A:n-i
B:n-i+1
C:n-i-1
D:i
答案: 【n-i】
11、 问题:在长度为n的顺序表中的的末尾位置上插入一个元素,其算法时间复杂度为( )。
选项:
A:O(1)
B:O(n)
C:O(logn)(以2为底)
D:O(nlogn)
答案: 【O(1)】
12、 问题:以下算法的功能是在一个非递减的顺序存储线性表中,删除所有值相等的多余元素。时间复杂度为O(n),空间复杂度为O(1)。划线部分应填入的语句是( )。void DelRepeatData(SeqList *L){ i=0; j=1; while( j<=L->last) { if(L->elem[i]==L->elem[j]) ; else { L->elem[i+1]=L->elem[j]; i++; j++; } } L->last=i;}
选项:
A:i++
B:j++
C:i–
D:j–
答案: 【j++】
13、 问题:以下算法是删除带头结点单链表L中的最小的元素,横线处应填入的语句是( )。void DelMinNode(LinkList L){ p=L->next; pre=L; if(L==NULL) return; while(p->next!=NULL) //pre指向最小元素的前驱元素,开始默认第一个结点最小,pre指向头结点 { if(p->next->data < pre->next->data) pre=p; } //删除pre后面的结点 p=pre->next; ;}
选项:
A:free(p); pre->next=p->next;
B:free(p->next);pre->next=p->next;
C:pre->next=p->next; free(p);
D:p->next=pre->next;free(p);
答案: 【pre->next=p->next; free(p); 】
14、 问题:单链表中增加头结点的目的是存储链表的长度。
选项:
A:正确
B:错误
答案: 【错误】
分析:【添加头结点的目的是,简化操作,使得在表头和中间位置对链表的操作统一化。不一定是为了存储链表的长度。】
15、 问题:线性表在链式存储时,查找第i个元素的时间同i的值无关。
选项:
A:正确
B:错误
答案: 【错误】
16、 问题:线性表在顺序存储时,查找第i个元素的时间同i 的值成正比。
选项:
A:正确
B:错误
答案: 【错误】
分析:【顺序表中,查找第i个元素,时间是常量。】
17、 问题:线性表的特点是每个元素都有一个前驱和一个后继。
选项:
A:正确
B:错误
答案: 【错误】
分析:【首元素没有前驱,尾元素没有后继。】
18、 问题:线性表的链式存储结构优于顺序存储。
选项:
A:正确
B:错误
答案: 【错误】
分析:【两种存储结构各有优缺点。要根据实际问题选择合适的存储结构。】
19、 问题:顺序存储方式的优点是存储密度大,插入、删除效率高。
选项:
A:正确
B:错误
答案: 【错误】
分析:【前半句正确,后半句错误。
顺序存储中,插入和删除的效率比较低。】
20、 问题:顺序表的每个结点只能是一个基本类型,而链表的每个结点可以是一个构造类型。
选项:
A:正确
B:错误
答案: 【错误】
21、 问题:插入和删除操作是线性表的基本操作。这两种操作在数组中也经常使用。
选项:
A:正确
B:错误
答案: 【错误】
分析:【数组本身不能进行插入和删除,因为数组的长度是不可变的。(在某些语言中)】
22、 问题:在顺序表中,逻辑上相邻的两个元素物理存储上也一定也相邻。
选项:
A:正确
B:错误
答案: 【正确】
23、 问题:在线性表的链式存储结构中,逻辑上相邻的两个元素在物理存储上并不一定紧邻。
选项:
A:正确
B:错误
答案: 【正确】
24、 问题:线性表采用顺序存储,必须占用一段地址连续的存储单元。
选项:
A:正确
B:错误
答案: 【正确】
25、 问题:顺序表结构适宜进行随机访问,而链表适宜进行插入、删除。
选项:
A:正确
B:错误
答案: 【正确】
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦