第一章 绪论(总时长56分26秒,共6讲)

数据结构的基础概念随堂测验

1、单选题:
‎一个抽象类型包括数据对象、              和一组处理数据的操作。‎
选项:
A: 数据对象中各元素间的结构关系
B: 数据元素集
C: 接口
D: 数据对象集
答案: 【 数据对象中各元素间的结构关系

2、填空题:
​抽象数据类型具有             、信息隐蔽的特点。‌​‌
答案: 【 数据抽象

第2讲数据结构的内容随堂测验

1、判断题:
线性结构只能用顺序结构来存放,非线性结构只能用非顺序结构来存放。( )‌‎‌‎‌
选项:
A: 正确
B: 错误
答案: 【 错误

2、填空题:
‍1、数据结构的逻辑结构分为集合、线性、层次和         四种。‍‍‍
答案: 【 网状

3、填空题:
​2、数据结构的存储结构分为              和非顺序 两种。​​​
答案: 【 顺序

4、填空题:
3、在线性结构、树形结构和图结构中,数据元素之间分别存在着一对一、一对多和          联系。‏​‏
答案: 【 多对多

第3讲数据结构与C语言表示随堂测验

1、单选题:
‏当需要用一个形式参数直接改变对应实参的值时,该形式参数应说明为        。‎
选项:
A: 与实参同类型指针参数
B: 不需要参数
C: 与实参同类型的参数
D: 全局变量
答案: 【 与实参同类型指针参数

第4讲算法性能评价随堂测验

1、单选题:
1、执行下面的程序段的时间复杂度为           。‏for(int i=0;i<m;i++)‏     for(int j=0;j<n;j++)‏     a[i][j]=i*j;‏​‏
选项:
A: O()     
B: O(

C: O(m*n) 
D: O (m+n)
答案: 【 O(m*n) 

2、单选题:
2、执行下面程序段时,语句S的执行次数为          。‌for(int i=0;i<=n;i++)‌  for(int j=0;j<i;j++)‌    S;‌‌‍‌
选项:
A:

B:
C: n(n+1)
D:

答案: 【 

第5讲算法与算法描述随堂测验

1、单选题:
‍算法设计的要求是:正确性、可读性 、                    和高效率和低存储  。‎
选项:
A: 确定性
B: 健壮性
C: 可行性
D: 有限性
答案: 【 健壮性

2、单选题:
算法具有 有限性、确定性、              、输入、输出五大特性。‌‎‌‎‌
选项:
A: 可行性
B: 可读性
C: 健壮性
D: 正确性
答案: 【 可行性

第一章 单元测试

1、单选题:
下面程序段的时间复杂度为(   )。‍for(int i=0;i<m;i++)‍  for(int j=0;j<n;j++)‍     a[i][j]=i*j;‍
选项:
A: O(m2)
B: O(n2)
C: O(m*n)
D: O(m+n)
答案: 【 O(m*n)

2、单选题:
执行下面程序段时,语句S的执行次数为(   )。‍for(int i=1;i<=n;i*=2)‍  for(int j=1;j<=n;j++)‍    S;‍
选项:
A: n*n
B: n* log2n
C: log2n
D: n(n+1)/2
答案: 【 n* log2n

3、单选题:
‎评价一个算法性能好坏的重要标准是(  )。‌
选项:
A: 算法的鲁棒性
B: 算法的可读性
C: 算法的时间复杂度和空间复杂度 
D: 算法的正确性    
答案: 【 算法的时间复杂度和空间复杂度 

4、单选题:
‍算法的时间复杂度与(    )有关。​
选项:
A: 问题规模 
B: 计算机硬件性能 
C: 编译程序质量 
D: 程序设计语言
答案: 【 问题规模 

5、单选题:
‎算法分析的主要任务是分析(   )。‍
选项:
A: 算法是否具有较好的可读性  
B: 算法中是否存在语法错误
C: 算法的功能是否符合要求    
D: 算法的执行时间与所需空间与问题规模的关系
答案: 【 算法的执行时间与所需空间与问题规模的关系

6、单选题:
‎算法分析的目的是(   )。‎
选项:
A: 找出数据结构的合理性
B: 研究算法中输入和输出的关系
C: 分析算法的效率以求改进
D: 分析算法的可读性
答案: 【 分析算法的效率以求改进

7、单选题:
​数据的最小单位是(  )。‎
选项:
A: 数据项 
B: 数据类型 
C: 数据元素 
D: 数据变量
答案: 【 数据项 

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

9、单选题:
如下程序段:‏   for(i=1;i<=n-1;i++)‏    for(j=i+1;j<=n;j++) ‏                  x=x+1;‏其中语句x=x+1执行的语句频度为(    )。‏
选项:
A: n*n
B: n*(n-1)/2
C: n*(n+1)/2
D: n*(n-1)
答案: 【 n*(n-1)/2

10、单选题:
‍以下算法的时间复杂度为(   )。‎‍if (n >= 0) ‎‍{  ‎‍    for(int i = 0; i < n; i++) ‎‍        for(int j = 0; j < n; j++) ‎‍              printf("输入数据大于等于零n");    ‎‍} ‎‍else ‎‍{      ‎‍    for(int j = 0; j < n; j++) ‎‍          printf("输入数据小于零n"); ‎‍}‎‍‎
选项:
A: O(1)
B: O(n*n+n)
C: O(n)
D: O(n*n)
答案: 【 O(n*n)

11、单选题:
在数组A[0..n-1]中查找给定值K的算法大致如下:   ​i=n-1;            ​while(i>=0 && (A[i]!=k))       ​      i--;        ​return i;  ​该算法的时间复杂度为(    )。​‎​
选项:
A: O(n-i+1)
B: O(n-i)
C: O(n)
D: 无法确定
答案: 【 O(n)

12、单选题:
下面算法的时间复杂度为(    )。‌x=100; y=100;‌while(y>0) ‌     if(x>100) ‌        {x=x-10; y--;} ‌     else ‌          x++;‌‌‌
选项:
A: O(n)
B: O(100)
C: O(1)
D: O(n*n)
答案: 【 O(1)

13、单选题:
下面的算法是判断n是否为素数,其时间复杂度为(      )。‍void prime(int n)‍{‍   for (i=2; i<sqrt(n) && (n % i)!=0; i++) ;‍ ‍   if (i>sqrt(n))   ‍         printf("%d is a prime number", n);  ‍   else  ‍        printf("%d is not a prime number", n);‍} ‍‍‍
选项:
A: O(n)
B: O(1)
C: O(sqrt(n))    sqrt表示对n取根方
D: O(n-i)
答案: 【 O(sqrt(n))    sqrt表示对n取根方

14、多选题:
‌以下属于数据元素间基本逻辑结构的是(    )。‌
选项:
A: 集合
B: 线性
C: 树
D: 图
答案: 【 集合;
线性;
树;

15、多选题:
‏以下属于算法特性的是(    )。‎
选项:
A: 0个或多个输入;至少一个输出
B: 正确性
C: 确定性
D: 可行性和有限性
答案: 【 0个或多个输入;至少一个输出;
确定性;
可行性和有限性

16、多选题:
‎算法设计的要求包括(   )。‏
选项:
A: 正确性
B: 可读性
C: 健壮性
D: 高效率和低存储
答案: 【 正确性;
可读性;
健壮性;
高效率和低存储

17、多选题:
​数据元素在计算机内存中的存储映像包括(   )。‍
选项:
A: 顺序存储
B: 非顺序存储
C: 图结构
D: 树结构
答案: 【 顺序存储;
非顺序存储

18、多选题:
‍抽象数据类型包括了(    )。‎
选项:
A: 一个数据对象
B: 元素的存储结构
C: 元素间的关系
D: 一组操作
答案: 【 一个数据对象;
元素间的关系;
一组操作

19、判断题:
​线性结构只能用顺序存储结构来存放,非线性结构只能用非顺序存储结构来存放。‍
选项:
A: 正确
B: 错误
答案: 【 错误

20、判断题:
‌算法就是程序。‍
选项:
A: 正确
B: 错误
答案: 【 错误

21、判断题:
‍算法的优劣与算法描述的语言无关。‎
选项:
A: 正确
B: 错误
答案: 【 正确

22、判断题:
​算法的可行性是指每一条指令具有明确含义。‏
选项:
A: 正确
B: 错误
答案: 【 错误

23、判断题:
‌健壮的算法不会因为非法输入数据而出现莫名的执行结果。‌
选项:
A: 正确
B: 错误
答案: 【 正确

24、判断题:
‎算法设计的要求就是要设计高效率和低存储的算法。​
选项:
A: 正确
B: 错误
答案: 【 错误

25、判断题:
‌数据类型就是变量。‏
选项:
A: 正确
B: 错误
答案: 【 错误

26、判断题:
‏数据结构的存储结构分为顺序存储和非顺序存储。‍
选项:
A: 正确
B: 错误
答案: 【 正确

27、判断题:
‌数据结构的顺序存储优于非顺序存储。‎
选项:
A: 正确
B: 错误
答案: 【 错误

28、判断题:
​元素间的逻辑关系可分为线性和非线性关系两种。‎
选项:
A: 正确
B: 错误
答案: 【 正确

第二章 线性表(一)(总时长40分37秒,共4讲)

第1讲线性表的概念随堂测验

1、单选题:
‎线性表是具有n个( )的有限序列(n>0)‌
选项:
A: 数据对象
B: 数据元素
C: 字符
D: 数据项
答案: 【 数据元素

2、单选题:
线性表是一个(   )。‌‌​‌
选项:
A: 有限序列,可以为空
B: 有限序列,不可以为空
C: 无限序列,可以为空
D: 无限序列,可以为空
答案: 【 有限序列,可以为空

3、判断题:
​线性表的特点是每个元素都有一个前驱和一个后继。()‌
选项:
A: 正确
B: 错误
答案: 【 错误

第2讲线性表的顺序存储随堂测验

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

2、单选题:
若长度为n的线性表采用顺序存储结构,删除第i个位置的元素,需要移动的元素个数为(   )。​‌​‌​
选项:
A: i
B: n-i
C: n-i+1
D: n-i-1
答案: 【 n-i

第3讲随堂测验

1、单选题:
‌对一个长度为n的顺序表,假设在任何位置上插入一个元素的概率是相等的,那么插入一个元素时要移动表中的(   )个元素。​‌​‌​‌​
选项:
A: n 
B: n+1
C:
D:
答案: 【 

2、判断题:
​线性表的顺序存储是指将表中元素按照从大到小或从小到大存储。‏
选项:
A: 正确
B: 错误
答案: 【 错误

第4讲线性表的链式存储随堂测验

1、单选题:
‎通过表达式           可以获取带头结点的单链表L中首元素结点的数据值。​
选项:
A: L->next
B: (L->next)->data
C: L->data
D: L->next
答案: 【 (L->next)->data

2、判断题:
单链表中必须设有头结点。()​​​
选项:
A: 正确
B: 错误
答案: 【 错误

第二章 单元测试(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;  p.next=null;
B: p.next=null;p.next=p.next.next;
C:  p=p.next;
D: s=p.next;p.next=s.next;s.next=null;
答案: 【 s=p.next;p.next=s.next;s.next=null;

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、判断题:
‎单链表中增加头结点的目的是存储链表的长度。‎
选项:
A: 正确
B: 错误
答案: 【 错误

12、判断题:
‎线性表在链式存储时,查找第i个元素的时间同i的值无关。‏
选项:
A: 正确
B: 错误
答案: 【 错误

13、判断题:
​线性表在顺序存储时,查找第i个元素的时间同i 的值成正比。​
选项:
A: 正确
B: 错误
答案: 【 错误

14、判断题:
‎线性表的特点是每个元素都有一个前驱和一个后继。‍
选项:
A: 正确
B: 错误
答案: 【 错误

15、判断题:
​线性表的链式存储结构优于顺序存储。‏
选项:
A: 正确
B: 错误
答案: 【 错误

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

17、判断题:
‏在顺序表中,逻辑上相邻的两个元素物理存储上也一定也相邻。‎
选项:
A: 正确
B: 错误
答案: 【 正确

18、判断题:
‏在线性表的链式存储结构中,逻辑上相邻的两个元素在物理存储上并不一定紧邻。‍
选项:
A: 正确
B: 错误
答案: 【 正确

19、判断题:
‍线性表采用顺序存储,必须占用一段地址连续的存储单元。​
选项:
A: 正确
B: 错误
答案: 【 正确

20、判断题:
‍顺序表结构适宜进行随机访问,而链表适宜进行插入、删除。‍
选项:
A: 正确
B: 错误
答案: 【 正确

第二章 线性表(二)(总时长47分2秒)

总结与提高随堂测验

1、单选题:
某线性表中最常用的操作是存取序号为i的元素和在最后进行插入和删除运算,则采用         存储方式时间性能最好。‌‌
选项:
A: 双向链表
B: 双向循环链

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

发表评论

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