1 绪论

绪论单元测验

1、单选题:
‏在链接存储结构中,要求      。‌
选项:
A: 每个结点占用一片连续的存储区域
B: 所有结点占用一片连续的存储区域
C: 结点的最后一个域是指针类型
D: 每个结点有多少个后继就设多少个指针
答案: 【 每个结点占用一片连续的存储区域

2、单选题:
‌对于数据结构的描述,下列说法中不正确的是      。‍
选项:
A: 相同的逻辑结构对应的存储结构也必须相同
B: 数据结构由逻辑结构、存储结构和基本操作三个方面构成
C: 数据结构基本操作的实现与存储结构有关
D: 数据的存储结构是数据的逻辑结构的机内实现
答案: 【 相同的逻辑结构对应的存储结构也必须相同

3、单选题:
‎以下关于链接存储结构的叙述中,      是不正确的。‎
选项:
A: 结点除数据信息外还包括指针域,因此存储密度小于顺序存储结构
B: 逻辑上相邻的结点在物理上不一定相邻
C: 可以通过计算得到第i个节点的存储地址
D: 插入和删除操作方便,不必移动结点
答案: 【 可以通过计算得到第i个节点的存储地址

4、单选题:
​可以用      、数据关系和基本操作定义一个完整的抽象数据类型。‎
选项:
A: 数据元素
B: 数据对象
C: 原子类型
D: 存储结构
答案: 【 数据元素

5、单选题:
‏算法指得是     。​
选项:
A: 对特定问题求解步骤的一种描述,是指令的有限序列
B: 计算机程序
C: 解决问题的计算方法
D: 数据处理
答案: 【 对特定问题求解步骤的一种描述,是指令的有限序列

6、单选题:
‎下面     不是算法所必须具备的特性。‎
选项:
A: 有穷性
B: 确切性
C: 高效性
D: 可行性
答案: 【 高效性

7、单选题:
‌某算法的时间复杂度是O(n^2),表明该算法     。‎
选项:
A: 问题规模是n^2
B: 执行时间等于n^2
C: 执行时间与n^2成正比
D: 问题规模与n^2成正比
答案: 【 执行时间与n^2成正比

8、单选题:
‏设某算法完成对n个元素进行处理,所需的时间是T(n)=100nlgn+200n+500,则该算法的时间复杂度是     。‍
选项:
A: O(1)
B: O(n)
C: O(nlgn)
D: O(nlgn)+O(n)
答案: 【 O(nlgn)

9、单选题:
‏算法的时间复杂度属于一种     。‌
选项:
A: 事前统计的方法
B: 事前分析估算的方法
C: 事后统计的方法
D: 事后分析估算的方法
答案: 【 事前分析估算的方法

随堂测验1

1、单选题:
‍在链接存储结构中,要求      。‍
选项:
A: 每个结点占用一片连续的存储区域
B: 所有结点占用一片连续的存储区域
C: 结点的最后一个域是指针类型
D: 每个结点有多少个后继就设多少个指针
答案: 【 每个结点占用一片连续的存储区域

2、单选题:
​对于数据结构的描述,下列说法中不正确的是      。​
选项:
A: 相同的逻辑结构对应的存储结构也必须相同
B: 数据结构由逻辑结构、存储结构和基本操作三个方面构成
C: 数据结构基本操作的实现与存储结构有关
D: 数据的存储结构是数据的逻辑结构的机内实现
答案: 【 相同的逻辑结构对应的存储结构也必须相同

3、单选题:
‍以下关于链接存储结构的叙述中,      是不正确的。​
选项:
A: 结点除数据信息外还包括指针域,因此存储密度小于顺序存储结构
B: 逻辑上相邻的结点在物理上不一定相邻
C: 可以通过计算得到第i个节点的存储地址
D: 插入和删除操作方便,不必移动结点
答案: 【 可以通过计算得到第i个节点的存储地址

4、单选题:
​可以用      、数据关系和基本操作定义一个完整的抽象数据类型。​
选项:
A: 数据元素
B: 数据对象
C: 原子类型
D: 存储结构
答案: 【 数据元素

5、多选题:
‍顺序存储结构中数据元素之间的逻辑关系是由       表示的,链接存储结构中的数据元素之间的逻辑关系式由      表示的。​
选项:
A: 线性结构
B: 非线性结构
C: 存储位置
D: 指针
答案: 【 存储位置;
指针

随堂测验2

1、单选题:
‎算法指得是     。​
选项:
A: 对特定问题求解步骤的一种描述,是指令的有限序列。
B: 计算机程序
C: 解决问题的计算方法
D: 数据处理
答案: 【 对特定问题求解步骤的一种描述,是指令的有限序列。

2、单选题:
‍下面     不是算法所必须具备的特性。‌
选项:
A: 有穷性
B: 确切性
C: 高效性
D: 可行性
答案: 【 高效性

3、单选题:
​某算法的时间复杂度是O(n^2),表明该算法     。​
选项:
A: 问题规模是n^2
B: 执行时间等于n^2
C: 执行时间与n^2成正比
D: 问题规模与n^2成正比
答案: 【 执行时间与n^2成正比

4、单选题:
‌ 设某算法完成对n个元素进行处理,所需的时间是T(n)=100nlgn+200n+500,则该算法的时间复杂度是     。‎
选项:
A: O(1)
B: O(n)
C: O(nlgn)
D: O(nlgn)+O(n)
答案: 【 O(nlgn)

5、单选题:
‌算法的时间复杂度属于一种     。‏
选项:
A: 事前统计的方法
B: 事前分析估算的方法
C: 事后统计的方法
D: 事后分析估算的方法
答案: 【 事前分析估算的方法

2 线性表

线性表单元测验

1、单选题:
‎将两个各有n个元素的有序顺序表归并成一个有序顺序表,其最少的比较次数是     。‏
选项:
A: n
B: 2n-1
C: 2n
D: n-1
答案: 【 n

2、单选题:
‌在长度为n的线性表中查找值为x的数据元素的时间复杂度为      。‍
选项:
A: O(0)
B: O(1)
C: O(n)
D: O(n^2)
答案: 【 O(n)

3、单选题:
​线性表的顺序存储结构是一种     的存储结构。‎
选项:
A: 随机存取
B: 顺序存取
C: 索引存取
D: 散列存取
答案: 【 随机存取

4、单选题:
‏设线性表中有2n个元素,以下操作中,      在单链表上实现要比在顺序表上实现效率更高。‎
选项:
A: 删除指定的元素
B: 在最后一个元素的后面插入一个新元素
C: 顺序输出前k个元素
D: 交换第i个元素和第2n-i-1个元素的值(i=0,1,…,n-1)
答案: 【 删除指定的元素

5、单选题:
‌如果最常用的操作是取第i个节点及其前驱,则采用      存储方式最节省时间。‏
选项:
A: 单链表
B: 双链表
C: 单循环链表
D: 顺序表
答案: 【 顺序表

6、单选题:
‍与单链表相比,双链表的优点之一是     。​
选项:
A: 插入、删除操作更简单
B: 可以进行随机访问
C: 可以省略表头指针或表尾指针
D: 访问前后相邻结点更灵活
答案: 【 访问前后相邻结点更灵活

7、单选题:
‌带头结点的单链表L为空的判定条件是     。‍
选项:
A: L==NULL
B: L->next==NULL
C: L->next==L
D: L!=NULL
答案: 【 L->next==NULL

8、单选题:
‎在一个单链表中,已知q所指结点是p所指结点的直接前驱,若在q和p之间插入s所指结点,则执行     操作。‎
选项:
A: s->next=p->next ; p->next=s;
B: q->next=s ; s->next=p;
C: p->next=s->next ; s->next=p;
D: p->next=s ; s->next=q;
答案: 【 q->next=s ; s->next=p;

9、单选题:
‍设指针rear指向带头结点的循环单链表的尾结点,若要删除链表的第一个元素结点,正确的操作是      。‎
选项:
A: s=rear ; rear=rear->next;
B: rear=rear->next;
C: rear=rear->next->next;
D: s=rear->next->next ; rear->next->next=s->next;
答案: 【 s=rear->next->next ; rear->next->next=s->next;

10、单选题:
‌经过以下栈运算后,x的值是     。‏‌InitStack(s);Push(s,a);Push(s,b);Pop(s,x);GetTop(s.x);‏‌‏
选项:
A: a
B: b
C: 0
D: 1
答案: 【 a

11、单选题:
‎一个栈的进栈a,b,c,d,e则栈的不可能的输出序列是     。‎
选项:
A: edcba
B: decba
C: dceab 
D: abcde
答案: 【 dceab 

12、单选题:
​已知一个栈的进栈序列是ABC,出栈序列是CBA,经过的栈操作是     。​
选项:
A: push,pop,push,pop,push,pop
B: push,push,push,pop,pop,pop
C: push,push,pop,pop,push,pop
D: push,pop,push,push,pop,pop
答案: 【 push,push,push,pop,pop,pop

13、单选题:
‏判定一个顺序栈st为(元素个数最多为MaxSize)空的条件为     。​
选项:
A: st.top==-1
B: st.top!=-1
C: st.top!=MaxSize
D: st.top==MaxSize
答案: 【 st.top==-1

14、单选题:
‎链栈与顺序栈相比有一个明显的优点,即      。‏
选项:
A: 插入操作更方便
B: 通常不会出现栈满的情况
C: 不会出现栈空的情况
D: 删除操作更加方便
答案: 【 通常不会出现栈满的情况

15、单选题:
‎设环形队列中数组的下标是0~N-1,其头、尾指针分别为f和r,则其元素个数为     。‍
选项:
A: r-f
B: r-f-1
C: (r-f)%N+1
D: (r-f+N)%N
答案: 【 (r-f+N)%N

16、单选题:
​对于链队,在进行删除操作时,      。‏
选项:
A: 仅修改头指针 
B: 仅修改尾指针
C: 头、尾指针都要修改
D: 头、尾指针可能都要修改
答案: 【 头、尾指针可能都要修改

17、单选题:
‎对于含有n个字符的链串s,查找元素值为x的算法时间复杂度为      。​
选项:
A: O(1)
B: O(n)
C:  O(n^2)
D: O(lgn)
答案: 【 O(n)

18、单选题:
​已知t=”abcaabbcabcaabdab”,该模式串的特征数组值为    。‌
选项:
A: -1,0,0,0,1,1,2,0,0,1,2,3,4,5,6,0,1
B: 0,1,0,0,1,1,2,0,0,1,2,3,4,5,6,0,1
C: -1,0,0,0,1,1,2,0,0,1,2,3,4,5,6,7,1
D: -1,0,0,0,1,1,2,3,0,1,2,3,4,5,6,0,1
答案: 【 -1,0,0,0,1,1,2,0,0,1,2,3,4,5,6,0,1

随堂测验1

1、单选题:
​将两个各有n个元素的有序顺序表归并成一个有序顺序表,其最少的比较次数是     。‎
选项:
A: n
B: 2n-1
C: 2n
D: n-1
答案: 【 n

2、单选题:
‍在长度为n的线性表中查找值为x的数据元素的时间复杂度为      。‏
选项:
A: O(0)
B: O(1)
C: O(n)
D: O(n^2)
答案: 【 O(n)

3、单选题:
‏线性表的顺序存储结构是一种     的存储结构。​
选项:
A: 随机存取
B: 顺序存取
C: 索引存取
D: 散列存取
答案: 【 随机存取

4、多选题:
‎在一个长度为n的顺序表的第i(1≤i≤n+1)个元素之前插入一个元素,需向后移动     个元素,删除第i(1≤i≤n)个元素时,需向前移动     个元素。‏
选项:
A: n-i
B: n-i+1
C: n-i
D: n-i+1
答案: 【 n-i+1;
n-i

随堂测验2

1、单选题:
​设线性表中有2n个元素,以下操作中,      在单链表上实现要比在顺序表上实现效率更高。‌
选项:
A: 删除指定的元素
B: 在最后一个元素的后面插入一个新元素
C: 顺序输出前k个元素
D: 交换第i个元素和第2n-i-1个元素的值(i=0,1,…,n-1)
答案: 【 删除指定的元素

2、单选题:
‍如果最常用的操作是取第i个节点及其前驱,则采用      存储方式最节省时间。‌
选项:
A: 单链表
B: 双链表
C: 单循环链表
D: 顺序表
答案: 【 顺序表

3、单选题:
‍与单链表相比,双链表的优点之一是     。‌
选项:
A: 插入、删除操作更简单
B: 可以进行随机访问
C: 可以省略表头指针或表尾指针
D: 访问前后相邻结点更灵活
答案: 【 访问前后相邻结点更灵活

4、单选题:
‍带头结点的单链表L为空的判定条件是     。​
选项:
A: L==NULL
B: L->next==NULL
C: L->next==L
D: L!=NULL
答案: 【 L->next==NULL

5、单选题:
‏在一个单链表中,已知q所指结点是p所指结点的直接前驱,若在q和p之间插入s所指结点,则执行     操作。‍
选项:
A: s->next=p->next ; p->next=s;
B: q->next=s ; s->next=p;
C: p->next=s->next ; s->next=p;
D: p->next=s ; s->next=q;
答案: 【 q->next=s ; s->next=p;

6、单选题:
‌设指针rear指向带头结点的循环单链表的尾结点,若要删除链表的第一个元素结点,正确的操作是      。‍
选项:
A: s=rear ; rear=rear->next;
B: rear=rear->next;
C: rear=rear->next->next;
D: s=rear->next->next ; rear->next->next=s->next;
答案: 【 s=rear->next->next ; rear->next->next=s->next;

随堂测验3

1、单选题:
‏经过以下栈运算后,x的值是     。‏‏InitStack(s);Push(s,a);Push(s,b);Pop(s,x);GetTop(s.x);‏
选项:
A: a
B: b
C: 0
D: 1
答案: 【 a

2、单选题:
‏一个栈的进栈a,b,c,d,e则栈的不可能的输出序列是     。‏
选项:
A: edcba
B: decba
C: dceab
D: abcde
答案: 【 dceab

3、单选题:
​ 已知一个栈的进栈序列是ABC,出栈序列是CBA,经过的栈操作是     。‎
选项:
A: push,pop,push,pop,push,pop
B: push,push,push,pop,pop,pop
C: push,push,pop,pop,push,pop
D: push,pop,push,push,pop,pop
答案: 【 push,push,push,pop,pop,pop

4、单选题:
‌判定一个顺序栈st为(元素个数最多为MaxSize)空的条件为     。‍
选项:
A: st.top==-1 
B: st.top!=-1
C: st.top!=MaxSize
D: st.top==MaxSize
答案: 【 st.top==-1 

5、单选题:
‎链栈与顺序栈相比有一个明显的优点,即      。‌
选项:
A: 插入操作更方便
B: 通常不会出现栈满的情况
C: 不会出现栈空的情况
D: 删除操作更加方便
答案: 【 通常不会出现栈满的情况

随堂测验4

1、单选题:
‏设环形队列中数组的下标是0~N-1,其头、尾指针分别为f和r,则其元素个数为     。‏
选项:
A: r-f
B: r-f-1
C: (r-f)%N+1
D: (r-f+N)%N
答案: 【 (r-f+N)%N

2、单选题:
‏对于链队,在进行删除操作时,&nbs

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注