专技天下代学代刷-培训计划代学沉梦刷课网课代学QQ:1459753/////////////中国大学MOOC 数据结构(山东外事职业大学)1451415170 最新慕课完整章节测试答案专技天下代学代刷-培训计划代学沉梦刷课网课代学QQ:1459753/////////////

专技天下代学代刷-培训计划代学沉梦刷课网课代学QQ:1459753/////////////

第1章 绪论

绪论

1、单选题:
算法的衡量包括()复杂度和空间复杂度。‍‌‍
选项:
A: 时间
B: 效率
C: 频度
D: 运算
答案: 【 时间

2、单选题:
(      )是数据结构中讨论的最小单位。‎
选项:
A: 数据元素
B: 数据结点
C: 数据操作 
D: 数据项
答案: 【 数据项

3、单选题:
一个算法必须满足以下五个重要特性:确定性、(      )、有穷性、输入、输出。‌‌‌
选项:
A: 正确性
B: 准确性
C: 可行性  
D: 完整性
答案: 【 可行性  

4、单选题:
数据的逻辑结构可归结为以下四类:集合结构、(    )、树形结构、图状结构。‎‍‎
选项:
A: 线性结构
B: 顺序结构
C: 链表结构
D: 存储结构
答案: 【 线性结构

5、单选题:
数据的逻辑结构可形式地用一个二元组B=(K,R)来表示,其中K是(   ),R是(K上关系的有穷集合)。‎‌‎
选项:
A: 结点的有穷集合
B: 数据元素的有限集合
C: 运算的有限集
D: 操作的有限集
答案: 【 数据元素的有限集合

第2章 线性表

【Test】第1-2章综合测试

1、单选题:
‌算法指的是      。‌
选项:
A: 计算机程序
B: 解决问题的计算方法
C: 排序算法
D: 解决问题的有限运算序列
答案: 【 解决问题的有限运算序列

2、单选题:
‏数据的不可分割的最小单位是          ‍
选项:
A: 元素
B: 结点
C: 数据类型
D: 数据项
答案: 【 数据项

3、单选题:
‎与数据元素本身的形式、内容、相对位置、个数无关的是数据的     ‎
选项:
A: 存储结构
B: 逻辑结构
C: 算法
D: 操作
答案: 【 逻辑结构

4、单选题:
‎用单链表方式存储的线性表,存储每个结点需要两个域,一个是数据域,另一个是   。‌
选项:
A: 当前结点所在地址域
B: 指针域
C: 空指针域 
D: 空闲域
答案: 【 指针域

5、单选题:
‎用链表表示线性表的优点是       。​
选项:
A: 便于随机存取
B: 花费的存储空间比顺序表少
C: 便于插入与删除
D: 数据元素的物理顺序与逻辑顺序相同
答案: 【 便于插入与删除

6、填空题:
‎在n个结点的顺序表中插入一个结点需平均移动(      )个结点,具体移动次数取决于(        )。‌‎‌
答案: 【 答案:
1、n/2
2、表的长度和插入点的位置

7、填空题:
‎一个算法具备的重要特性包括(      )、确定性、(        ),输入、输出。​
答案: 【 答案:
1、有穷性
2、可行性

8、填空题:
​(        )是数据的基本单位。‏
答案: 【 答案:
数据元素

单元测试 – 链式存储结构

1、单选题:
‌【2-1-1】在下列关于线性表的叙述中正确的是(  )。‍
选项:
A: A.线性表的逻辑顺序与物理顺序总是一致的
B: B.线性表的顺序存储表示优于链式存储表示
C: C.线性表若采用链式存储表示时所有存储单元的地址可连续可不连续
D: D.除数组外,每种数据结构都应具备3种基本运算:插入、删除和查找
答案: 【 D.除数组外,每种数据结构都应具备3种基本运算:插入、删除和查找

2、单选题:
‍【2-1-2】数据结构反映了数据元素之间的结构关系。单链表是一种(  )。‏
选项:
A: A.顺序存储线性表 
B: B.非顺序存储非线性表
C: C.顺序存储非线性表    
D: D.非顺序存储线性表
答案: 【 D.非顺序存储线性表

3、单选题:
‏【2-1-3】单链表又称为线性链表,在单链表上实施插入和删除操作(  )。‍
选项:
A: A.不需移动结点,不需改变结点指针 
B: B.不需移动结点,只需改变结点指针
C: C.只需移动结点,不需改变结点指针
D: D.既需移动结点,又需改变结点指针
答案: 【 B.不需移动结点,只需改变结点指针

4、单选题:
‍【2-1-4】已知单链表中结点*q是结点*p的直接前趋,若在*q与*p之间插入结点*s,则应执行以下(  )操作。‏
选项:
A: A.s->next=p->next;p->next=s;
B: B.q->next=s;s->next=p;
C: C.p->next=s->next;s->next=p;
D: D.p->next=s;s->next=q;
答案: 【 B.q->next=s;s->next=p;

5、单选题:
​【2-1-5】已知单链表中结点*p不是链表的尾结点,若在*p之后插入结点*s,则应执行以下(  )操作。‌
选项:
A: A.s->next=p;p->next=s;
B: B.p->next=s;s->next=p;
C: C.s->next=p->next;p=s;
D: D.s->next=p->next;p->next=s;
答案: 【 D.s->next=p->next;p->next=s;

6、单选题:
‍【2-1-6】已知L是带头结点的单链表,则摘除首结点的语句是(  )。‎
选项:
A: A.L=L->next;
B: B. L->next=L->next->next;
C: C.L=L->next->next;
D: D.L->next=L;
答案: 【 B. L->next=L->next->next;

7、单选题:
‌【2-1-7】已知单链表A长度为m,单链表B长度为n,若将B链接在A的末尾,在没有链尾指针的情形下,算法的时间复杂度应为(  )。‍
选项:
A: A.O(1)
B: B.O(m)
C: C.O(n)
D: D.O(m+n)
答案: 【 B.O(m)

8、单选题:
‌【2-1-8】给定有n个元素的一维数组,建立一个有序单链表的时间复杂度是(  )。‍
选项:
A: O(1)
B: B.O(n)
C: C.O(n^2)
D: D.O(nlog2n)
答案: 【 C.O(n^2)

9、填空题:
‏【2-2】下面算法的功能是:统计带头结点的单链表中具有给定值x的所有元素个数。请在空白处填入正确的语句。​‏​int Count(LinkList  &L, ElemType x)
{
    int count = 0;
    LinkList p = _______①______;          
    while(p != NULL) {             
        if(_____②______)              
            _____③____;
        p = p->next;                  
    }
    _______④_______;
}
答案: 【 答案:
1、L->next
2、p->data == x
3、count++
4、return count

单元测试 – 顺序存储结构

1、单选题:
‍【2-1-1】下列关于线性表的叙述中正确的是(      )。‌‍‌‍‌‍‌‍‌
选项:
A: A.每个元素最多有一个直接前趋和一个直接后继
B: B.每个元素最少有一个直接前趋和一个直接后继
C: C.每个元素有且仅有一个直接前趋,有且仅有一个直接后继
D: D.线性表中每个元素都是不可再分解的数据元素,且数据类型必须相同
答案: 【 A.每个元素最多有一个直接前趋和一个直接后继

2、单选题:
‌【2-1-2】在二维表格(线性表)中的每一个表元素都是不可再分的( )。‎
选项:
A: A.数据项
B: B.记录
C: C.数据元素
D: D.字段
答案: 【 C.数据元素

3、单选题:
‌【2-1-3】以下关于顺序表的说法中,正确的是(    )。‌
选项:
A: A.顺序表可以利用一维数组表示,因此顺序表与一维数组在结构上是一致的,它们可以通用
B: B.在顺序表中,逻辑上相邻的元素在物理位置上不一定相邻
C: C.顺序表和一维数组一样,都可以按下标随机(或直接)访问,顺序表还可以从某一指定元素开始,向前或向后逐个元素顺序访问
D: D.在顺序表中每一元素的数据类型还可以是顺序表
答案: 【 C.顺序表和一维数组一样,都可以按下标随机(或直接)访问,顺序表还可以从某一指定元素开始,向前或向后逐个元素顺序访问

4、单选题:
​【2-1-4】设线性表有n个元素且采用顺序存储表示,算法的时间复杂度为O(1)的操作是(  )。‌
选项:
A: A.访问第i个元素和求第i个元素的直接前趋(2≤i≤n)
B: B.在第i(1≤i≤n)个元素后面插入一个新元素
C: C.删除数组第i个元素
D: D.顺序查找与给定值k相等的元素
答案: 【 A.访问第i个元素和求第i个元素的直接前趋(2≤i≤n)

5、单选题:
‎【2-1-5】在以下有关顺序表的叙述中正确的是(   )‌
选项:
A: A.顺序表的优点是存储密度高
B: B.集合与顺序表的区别在于集合中的元素不能相等
C: C.线性表就是顺序存储的表
D: D.取顺序表第i个元素的时间与i的大小有关
答案: 【 A.顺序表的优点是存储密度高

6、填空题:
‌【2-2】下面算法的功能是:从顺序表中删除具有最小值的元素并由函数返回被删元素的值。空出的位置由最后一个元素填补,当顺序表为空则显示出错信息并退出运行。请在空白处填入正确的语句。

int deleteMin(SqList &L, ElemType &x)
{
    //删除顺序表 L 中具有最小值的元素。 如果删除成功, 则函数返回 1并通过引用
    //型参数 x 返回其值, 否则函数返回 0。
    if (______①______) {
        printf(“这是空表!n”);
        return 0;
    }
    int i, ________②_______;               //假定0号元素的值最小
    for (i = _____③______; i <= L.length; i++)     //循环,寻找具有最小值的元素
        if (L.elem[i – 1] < L.elem[min_i])
            min_i = _____④_____;        //min_i 记忆当前具最小值元素的位置
    x = L.elem[min_i];
    _______⑤________;
    L.elem[min_i] = L.elem[L.length];
    return 1;
}‍
答案: 【 答案:
1、L.length == 0
2、min_i = 0
3、2
4、i – 1
5、L.length–

第3章 栈和队列

单元测试3-1

1、单选题:
‏一个栈的序列是:a,b,c,d,e,则栈的不可能输出的序列是()。‍
选项:
A: a,b,c,d,e
B: d,e,c,b,a
C: d,c,e,a,b
D: e,d,c,b,a
答案: 【 d,c,e,a,b

2、单选题:
‌若一个栈的输人序列是1,2,3,…,n,输出序列的第一个元素是n,则第k个输出元素是(  )。‏
选项:
A: k 
B: n-k-1
C: n-k+1
D: 不确定
答案: 【 n-k+1

3、单选题:
‍判定一个栈S(最多有n个元素)为空的条件是(  )。 ‍
选项:
A: S->top!=0
B: S->top= =0
C: S->top!=n 
D: S->top= =n
答案: 【 S->top= =0

4、单选题:
‍判定一个栈S(最多有n个元素)为满的条件是(  )。​
选项:
A: S->top!=0
B: S->top= =0
C: S->top!=n
D: S->top= =n
答案: 【 S->top= =n

5、单选题:
‌向一个栈顶为top的不带头结点的链栈中插入一个*s结点的时候,应当执行的语句()‏
选项:
A: top->next = s
B: s->next = top; top =s;
C: s->next = top->next; top->next = s;
D: s->next = top; top = s->next;
答案: 【 s->next = top; top =s;

6、单选题:
‍向一个带头结点,栈顶指针为top的链栈中插入*s结点的时候,应当执行语句()‎
选项:
A: top->next = s
B: s->next = top; top =s;
C: s->next = top->next; top->next = s;
D: s->next = top; top = s->next;
答案: 【

专技天下代学代刷-培训计划代学沉梦刷课网课代学QQ:1459753/////////////

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
相关推荐