第一章引论

在线测试3

1、单选题:
‏在数据结构中,与所使用的计算机无关的是数据的(    )的结构。‎
选项:
A: 逻辑
B: 存储
C: 逻辑和存储
D: 物理
答案: 【 逻辑

2、判断题:
‎数据的存储结构表示的是数据元素之间的逻辑关系。‏
选项:
A: 正确
B: 错误
答案: 【 错误

在线练习1

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

7、单选题:
​衡量算法效率优劣的不包括(  )。‏
选项:
A: 正确性和可读性
B: 健壮性/鲁棒性
C: 高效率与低存储
D: 现实性
答案: 【 现实性

8、单选题:
‎算法指(  )。‍
选项:
A: 计算方法
B: 排序方法
C: 解决问题的步骤序列
D: 调度方法
答案: 【 解决问题的步骤序列

9、单选题:
下面的程序段时间复杂度为(   )。‌ for(i=1;i<n;i++)‌    for(j=1;j<n;j++)   ‌        x=x+1;‌‌‌
选项:
A: O(2n)
B: O(n)
C: O(n^2)
D: O(log2n)
答案: 【 O(n^2)

10、单选题:
‎算法效率分析的两个主要方面是(    )。​
选项:
A: 空间复杂度和时间复杂度
B: 正确性和简明性
C: 可读性和文档性
D: 数据复杂性和程序复杂性
答案: 【 空间复杂度和时间复杂度

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

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

13、单选题:
​下面程序段的时间复杂度为(     )。‌​void sum(int n) //n为正整数‌​{‌​  int p=1,sum=0,i;‌​  for(i=1;i<=n;i++)‌​  {‌​    p*=i;‌​    sum+=p;‌​  }‌​}‌
选项:
A: O()
B: O(n)
C: O(1)
D: O(n^2)
答案: 【 O(n)

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

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

16、判断题:
‏链式存储的优点是可以随机存储。‎
选项:
A: 正确
B: 错误
答案: 【 错误

17、判断题:

在相同的数据规模n下,复杂度为O(n)的算法在时间上总是优于复杂度为O()的算法。

‌选项:
A: 正确
B: 错误
答案: 【 正确

18、判断题:
‏数据的逻辑结构分为线性结构、树型结构、图状结构和集合。‎
选项:
A: 正确
B: 错误
答案: 【 正确

19、判断题:
‌数据的存储结构表示的是数据元素之间的逻辑关系。‏
选项:
A: 正确
B: 错误
答案: 【 错误

在线练习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、单选题:
‏某算法的时间复杂度是O(n^2),表明该算法的(   )。‎
选项:
A: 执行时间与n^2成正比
B: 问题规模是n^2
C: 执行时间等于n^2
D: 问题规模与n^2成正比
答案: 【 执行时间与n^2成正比

7、单选题:
‏衡量算法效率优劣的不包括(  )。‍
选项:
A: 正确性和可读性
B: 健壮性/鲁棒性
C: 高效率与低存储
D: 现实性
答案: 【 高效率与低存储

8、单选题:
‍算法指(  )。‎
选项:
A: 计算方法
B: 排序方法
C: 解决问题的步骤序列
D: 调度方法
答案: 【 解决问题的步骤序列

9、单选题:
下面的程序段时间复杂度为(   )。​ for(i=1;i<n;i++)​    for(j=1;j<n;j++)   ​        x=x+1;​‏​
选项:
A: O(2n)
B: O(n)
C: O(n^2)
D: O(log2n)
答案: 【 O(n^2)

10、单选题:
‎算法效率分析的两个主要方面是(    )。​
选项:
A: 空间复杂度和时间复杂度
B: 正确性和简明性
C: 可读性和文档性
D: 数据复杂性和程序复杂性
答案: 【 空间复杂度和时间复杂度

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

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

13、单选题:
下面程序段的时间复杂度为(     )。‏void sum(int n) //n为正整数‏{‏  int p=1,sum=0,i;‏  for(i=1;i<=n;i++)‏  {‏    p*=i;‏    sum+=p;‏  }‏}‏​‏
选项:
A: O()
B: O(n)
C: O(1)
D: O(n^2)
答案: 【 O(n)

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

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

16、判断题:
​链式存储的优点是可以随机存储。‎
选项:
A: 正确
B: 错误
答案: 【 错误

17、判断题:

在相同的数据规模n下,复杂度为O(n)的算法在时间上总是优于复杂度为O()的算法。

‌选项:
A: 正确
B: 错误
答案: 【 正确

18、判断题:
‎数据的逻辑结构分为线性结构、树型结构、图状结构和集合。‍
选项:
A: 正确
B: 错误
答案: 【 正确

19、判断题:
‎数据的存储结构表示的是数据元素之间的逻辑关系。‍
选项:
A: 正确
B: 错误
答案: 【 错误

测验

1、判断题:
‍一个算法包含的循环嵌套的层数越多,该算法的时间复杂度越高。​
选项:
A: 正确
B: 错误
答案: 【 正确

测验1

1、单选题:
‍数据的逻辑结构包括?‎
选项:
A: 线性结构和非线性结构
B: 顺序结构和非顺序结构
C: 静态结构和非静态结构
D: 动态结构和非动态结构
答案: 【 线性结构和非线性结构

第二章线性表

在线练习2

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

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

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

4、单选题:
‌设某顺序表中第一个元素的地址是Base,下限值为1,每个结点占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、单选题:
‏若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为 ()。‌
选项:
A: O(0)  
B: O(1)  
C: O(n)  
D: O(
答案: 【 O(n)  

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

11、单选题:
‎在单链表指针为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;

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

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

14、单选题:
‎线性表( a1,a2,…,an)以链式方式存储时,访问第i个元素的时

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

发表评论

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