第一章引论

单元测试

1、单选题:
‎在数据结构中,从逻辑上可以把数据结构分成( )。‏
选项:
A: 动态结构和静态结构
B: 紧凑结构和非紧凑结构
C: 线性结构和非线性结构
D: 内部结构和外部结构
答案: 【 线性结构和非线性结构

2、单选题:
‌在数据结构中,从存储结构上可以将之分为( )。‎
选项:
A: 动态结构和静态结构
B: 紧凑结构和非紧凑结构
C: 顺序存储和链式存储
D: 线性结构和非线性结构
答案: 【 顺序存储和链式存储

3、单选题:
‌算法的时间复杂度取决于( )。‍
选项:
A: 问题的规模
B: 待处理数据的初态
C: A和B
D: 没有正确答案
答案: 【 A和B

4、单选题:

某算法的时间复杂度是O(),表明该算法的(  )。

‌选项:
A: 执行时间与成正比
B: 问题规模是
C: 执行时间等于
D: 问题规模与成正比
答案: 【 执行时间与成正比

5、单选题:
‍有如下递归函数fact(n),其时间复杂度为(  )。int fact (int n)           
{  
    if(n<=1) return 1;
    else return(n*fact(n-1));
 }‏
选项:
A: O(0)
B: O(1) 
C: O(n) 
D: O()
答案: 【 O(n) 

6、判断题:
‏顺序存储方式的优点是存储密度大,且插入、删除运算效率高。‌
选项:
A: 正确
B: 错误
答案: 【 错误

7、判断题:
‍数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构。 ‌
选项:
A: 正确
B: 错误
答案: 【 错误

8、判断题:
‌算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。‏
选项:
A: 正确
B: 错误
答案: 【 错误

9、填空题:
​算法具有有限性、可行性   、输入、输出五大特性。‍
答案: 【 确定

10、填空题:
数据结构是研讨数据的  和  ,以及它们之间的相互关系,并对与这种结构定义相应的  ,设计出相应的  。‌
答案: 【 物理结构 ,逻辑结构 ,操作,算法

11、填空题:
‏对于给定的n个元素,可以构造出的逻辑结构有   ,   ,   ,   四种。‎
答案: 【 集合,线性结构,树形结构, 图状结构

12、填空题:
‏当需要用一个形式参数直接改变对应实参的值时,形式参数应说明为   。​
答案: 【 指针

单元测验

1、单选题:
‎在数据结构中,从逻辑上可以把数据结构分成( )。​
选项:
A: 动态结构和静态结构
B: 紧凑结构和非紧凑结构
C: 线性结构和非线性结构
D: 内部结构和外部结构
答案: 【 线性结构和非线性结构

2、单选题:
在数据结构中,从存储结构上可以将之分为( )。‍
选项:
A: 动态结构和静态结构
B: 紧凑结构和非及凑结构
C: 顺序存储和链式存储
D: 线性结构和非线性结构
答案: 【 顺序存储和链式存储

3、单选题:
算法的时间复杂度取决于(  )。‏
选项:
A: 问题的规模
B: 待处理数据的初态
C: A和B
D: 没有正确答案
答案: 【 A和B

4、单选题:

某算法的时间复杂度是O(),表明该算法的(  )。

‍选项:
A: 执行时间与成正比
B: 问题规模是
C: 执行时间等于
D: 问题规模与成正比
答案: 【 执行时间与成正比

5、单选题:
有如下递归函数fact(n),其时间复杂度为(  )。‎int fact (int n)           
{  
    if(n<=1) return 1;
    else return(n*fact(n-1));
 }‎
选项:
A: O(0)
B: O(1) 
C: O(n) 
D: O()
答案: 【 O(n) 

6、判断题:
​顺序存储方式的优点是存储密度大,且插入、删除运算效率高。​
选项:
A: 正确
B: 错误
答案: 【 错误

7、判断题:
‏数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构。 ‌
选项:
A: 正确
B: 错误
答案: 【 错误

8、判断题:
‌算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。‎
选项:
A: 正确
B: 错误
答案: 【 错误

9、填空题:
算法具有有限性、可行性   、输入、输出五大特性。‏‎‏
答案: 【 确定

10、填空题:
‌数据结构是研讨数据的  和  ,以及它们之间的相互关系,并对与这种结构定义相应的  ,设计出相应的  。​‌​
答案: 【 物理结构 、逻辑结构、操作、算法

11、填空题:
对于给定的n个元素,可以构造出的逻辑结构有   ,   ,   ,   四种。‏‌‏
答案: 【 集合、线性结构、树形结构、图状结构

12、填空题:
当需要用一个形式参数直接改变对应实参的值时,形式参数应说明为   。‏​‏
答案: 【 指针

第二章线性表

单元测验

1、单选题:
‎下述哪一条是顺序存储结构的优点( )。‏
选项:
A: 存储密度大 
B: 插入运算方便 
C: 删除运算方便 
D: 可方便地用于各种逻辑结构的存储表示
答案: 【 存储密度大 

2、单选题:
​下面关于线性表的叙述中错误的是(  )‍
选项:
A: 线性表采用顺序存储,必须占用一片连续的存储单元。
B: 线性表采用顺序存储,便于进行插入和删除操作。
C: 线性表采用链式存储,不必占用一片连续的存储单元。
D: 线性表采用链式存储,便于插入和删除操作。
答案: 【 线性表采用顺序存储,便于进行插入和删除操作。

3、单选题:
若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。‎
选项:
A: 顺序表 
B: 双链表
C: 带头结点的双循环链表
D: 单循环链表
答案: 【 顺序表 

4、单选题:
设某顺序表中第一个元素的地址是Base,每个结点占m个单元,则第i个结点的地址为( )。‎
选项:
A: Base+(i+1)×m
B: Base+i×m
C: Base+(i-1)×m
D: Base-i×m 
答案: 【 Base+(i-1)×m

5、单选题:
某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。​
选项:
A: 单链表  
B: 仅有头指针的单循环链表
C: 双链表        
D: 仅有尾指针的单循环链表
答案: 【 仅有尾指针的单循环链表

6、单选题:
​设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用(  )最节省时间。‍
选项:
A: 单链表 
B: 带尾指针的单循环链表
C: 单循环链表
D: 带头结点的双循环链表
答案: 【 带头结点的双循环链表

7、单选题:
链表不具有的特点是( )。‎
选项:
A: 插入、删除不需要移动元素   
B: 可随机访问任意元素 
C: 不必事先估计存储空间 
D: 所需空间与线性长度成正比  
答案: 【 可随机访问任意元素 

8、单选题:
‎线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。‍
选项:
A: 必须是连续的 
B: 部分地址必须是连续的
C: 一定是不连续的 
D: 连续或不连续都可以
答案: 【 连续或不连续都可以

9、单选题:
‌静态链表中指针表示的是(  )。‏
选项:
A: 内存地址 
B: 数组下标  
C: 下一元素地址
D: 左、右孩子地址
答案: 【 下一元素地址

10、单选题:
‌若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为 ()。‍
选项:
A: O(0)  
B: O(1)  
C: O(n) 
D: O(
答案: 【 O(n) 

11、单选题:
‌对于顺序表,访问结点和删除结点的时间复杂度分别为( )。‌
选项:
A: O(n)  O(n)  
B: O(n)  O(1)     
C: O(1)  O(n)     
D: O(1)  O(1)
答案: 【 O(1)  O(n)     

12、单选题:
‍在单链表指针为p的结点之后插入指针为s的结点,正确的操作是( )。‌
选项:
A: p->next=s;s->next=p->next; 
B: s->next=p->next;p->next=s;
C: p->next=s;p->next=s->next;  
D: p->next=s->next;p->next=s;
答案: 【 s->next=p->next;p->next=s;

13、单选题:
对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( )。‏
选项:
A: head==NULL 
B: head→next==NULL 
C: head→next==head   
D: head!=NULL
答案: 【 head→next==NULL 

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

15、单选题:
‎在双向链表中,在p所指向的结点前插入一个q所指向的结点,相应的操作语句是( )。​‎注:双向链表的结点结构为(prior,data,next)。​
选项:
A: p->prior=q;q->next=p;p->prior->next=q;q->prior=q;
B: p->prior=q;p->prior->next=q;q->next=p;q->prior=p->prior;
C: q->next=p;q->prior=p->prior;p->prior->next=q;p->prior=q;
D: q->prior=p->prior;q->next=q;p->prior=q;p->prior=q;
答案: 【 q->next=p;q->prior=p->prior;p->prior->next=q;p->prior=q;

16、单选题:
‌在双向链表存储结构中,删除p所指向的结点时需修改指针( )。‌
选项:
A: p->next->prior=p->prior; p->prior->next=p->next;
B: p-

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

发表评论

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