数据结构的相关练习(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.数据采用链式存储结构时,要求______。        

        A、每个结点占用一片连续的存储区域    

        B、所有结点占用一片连续的存储区域    

        C、结点的最后一个数据域是指针类型    

        D、每个结点有多少个后继就设多少个指针域

        答案:['每个结点占用一片连续的存储区域']

7.以下关于算法的说法正确的是______。            

        A、算法最终必须由计算机程序实现

        B、算法等同于程序    

        C、算法的可行性是指指令不能有二义性

        D、以上几个都是错误的

        答案:['以上几个都是错误的']

8.算法的时间复杂度与______ 有关。          

        A、问题规模

        B、计算机硬件性能    

        C、编译程序质量

        D、程序设计语言

        答案:['问题规模']

9.算法分析的主要任务之一是分析______。        

        A、算法是否具有较好的可读性

        B、算法中是否存在语法错误    

        C、算法的功能是否符合设计要求    

        D、算法的执行时间和问题规模之间的关系

答案:['算法的执行时间和问题规模之间的关系']

10.某算法的时间复杂度为O(n2),表明该算法的______。          

        A、问题规模是n2

        B、执行时间等于n2   

        C、执行时间与n2成正比  

        D、问题规模与n2成正比

答案:['执行时间与n2成正比']

11.线性表是包含n(n≥0)个______ 的有限序列。           

        A、关系

        B、字符 

        C、数据元素

        D、数据项

答案:['数据元素']

12.以下关于线性表和有序表的叙述中正确的是______。            

        A、线性表中元素不能重复出现

        B、有序表属于线性表的存储结构    

        C、线性表和有序表的元素具有相同的逻辑关系    

        D、有序表可以采用顺序表存储,而线性表不能采用顺序表存储

答案:['线性表和有序表的元素具有相同的逻辑关系']

13.以下关于顺序表的叙述中正确的是______。            

        A、顺序表的优点是存储密度大且插入、删除运算效率高    

        B、顺序表的优点是具有随机存取特性    

        C、顺序表中所有元素可以连续也可以不连续存放

        D、在含n个元素的顺序表中查找序号为i的元素的时间复杂度为O(n)

        答案:['顺序表的优点是具有随机存取特性']

14.在含n个元素的顺序表中,算法的时间复杂度是O(1)的是______。           

        A、访问第i个元素(0≤i≤n-1)和求第i个元素的前驱元素(1≤i≤n-1)      

        B、在第i个元素后插入一个新元素(0≤i≤n-1)

        C、删除第i个元素(0≤i≤n-1)     D、将n个元素从小到大排序

        答案:['访问第i个元素(0≤i≤n-1)和求第i个元素的前驱元素(1≤i≤n-1)']

15.线性表的链式存储结构与顺序存储结构相比,优点是______。            

        A、所有的操作算法实现简单    

        B、便于随机存取 

        C、便于插入和删除元素    

        D、节省存储空间

        答案:['便于插入和删除元素']

16.线性表采用链表存储时,存放所有存放元素的结点地址______。    

         A、必须是连续的

        B、一定是不连续的    

        C、部分地址必须是连续的      

        D、连续与否均可以

        答案:['连续与否均可以']

17.单链表的存储密度______。      

           A、大于1      B、等于1      C、小于1       D、不能确定

答案:['小于1']

18.对于单链表存储结构,以下说法中错误的是______。      

          A、一个结点的数据成员用于存放线性表的一个数据元素     

          B、一个结点的指针成员用于指向下一个数据元素的结点    

         C、单链表必须带有头结点

        D、单链表中所有结点可以连续也可以不连续存放

答案:['单链表必须带有头结点']

 19.链表不具备的特点是______。

         A、可随机访问任一结点    

        B、插入删除不需要移动结点      

        C、不必事先估计存储空间

        D、所需空间与其长度成正比

答案:['可随机访问任一结点']

 20.以下关于链表的叙述中,不正确的是______。

        A、结点中除元素值外还包括指针成员,因此存储密度小于顺序存储结构   

        B、逻辑上相邻的元素物理上不必相邻    

        C、可以根据头结点地址直接计算出第i个结点的地址   

        D、插入、删除运算操作方便,不必移动结点

答案:['可以根据头结点地址直接计算出第i个结点的地址']

21.若某线性表最常用的操作是查找序号i的元素和在末尾插入元素,则选择______存储结构最节省时间。        

         A、顺序表    

         B、带头结点的循环双链表   

         C、单链表    

        D、带尾结点的循环单链表

答案:['顺序表']

22.将两个各有n个元素的递增有序顺序表归并成一个有序顺序表,其最少的比较次数是______。   

        A、n     

        B、2n-1

        C、2n   

        D、n-1

答案:['n']

23.以下关于单链表的叙述中正确的是______。

Ⅰ.结点中除元素值外还包括指针成员,存储密度小于顺序表

Ⅱ.找第i个结点的时间为O(1)

Ⅲ.在插入和删除操作时不必移动结点            

A、仅Ⅰ、Ⅱ

B、仅Ⅱ、Ⅲ  

C、仅Ⅰ、Ⅲ

D、Ⅰ、Ⅱ、Ⅲ

答案:['仅Ⅰ、Ⅲ']

24.有一个长度为n(n>1)的带头结点的单链表h,另设有尾指针r(指向尾结点),执行______ 操作与链表的长度有关。       

        A、删除单链表中的首结点 

        B、删除单链表中的尾结点 

        C、在单链表首结点前插入一个新结点 

        D、在单链表尾结点素后插入一个新结点

答案:['删除单链表中的尾结点']

 25.已知一个长度为n的单链表是递增有序的,所有结点值不相同,以下叙述中正确的是______。        

        A、插入一个结点使之有序的算法的时间复杂度为O(1)  

        B、删除最大值结点使之有序的算法的时间复杂度为O(1)    

        C、找最小值结点的算法的时间复杂度为O(1)  

        D、以上都不对

答案:['找最小值结点的算法的时间复杂度为O(1)']

26.已知两个长度分别为m 和n 的递增单链表,若将它们合并为一个长度为m+n 的递减单链表,则最好情况下的时间复杂度是______。        

        A、O(n)

        B、O(m)

        C、O(m×n)  

        D、O(m+n)

答案:['O(m+n)']

27.在长度为n(n≥1)的双链表L中,在p结点之前插入一个新结点s的时间复杂度为______。                 A、O(1) 

        B、O(n) 

        C、O(n2)    

        D、O(nlog2n)

答案:['O(1)']

28.在长度为n(n≥1)的双链表中插入一个结点p(非尾结点)要修改______个指针成员。              A、1       B、2       C、3       D、4

答案:['4']

29.在长度为n(n≥1)的双链表中删除一个结点p(非尾结点)要修改______个指针成员。              A、1       B、2       C、3       D、4

答案:['2']

30.在存储同一线性表时,以下关于单链表和双链表比较中正确的是______。        

         A、单链表的存储密度较双链表高    

        B、单链表的存储密度较双链表低      

        C、双链表较单链表存放更多的元素

        D、单链表不能表示线性表的逻辑关系,而双链表可以

答案:['单链表的存储密度较双链表高']

31.与单链表相比,双链表的优点之一是______。      

         A、插入、删除操作更简单   

        B、可以进行随机访问 

        C、可以省略表头指针或表尾指针    

        D、访问前后相邻结点更方便

答案:['访问前后相邻结点更方便']

 33.某个线性表最常用的操作是在尾结点之后插入一个结点和删除首结点,则该线性表采用______ 存储方式最合适。      

        A、单链表    

        B、仅有头结点的循环单链表     

        C、双链表    

        D、仅有尾指针的循环单链表

答案:['仅有尾指针的循环单链表']

34.与非循环单链表相比,循环单链表的主要优点是______。         

        A、不再需要头结点      

        B、已知某个结点能够容易找到它的前驱结点 

        C、在进行插入、删除操作时,能更好地保证链表不断开      

        D、从表中任意结点出发都能遍历整个链表

答案:['从表中任意结点出发都能遍历整个链表']

35.非空循环单链表head的尾结点p满足______。     

          A、p.next==null      

          B、p==null  

          C、p.next==head

          D、p==head

答案:['p.next==head']

 36.在长度为n(n≥1)的循环单链表L中,删除尾结点的时间复杂度为______。       

  A、O(1)  B、O(n)  C、O(n2)       D、O(nlog2n)

答案:['O(n)']

 37.有两个长度为n(n>1)的不带头结点的单链表,结点类型相同,A是非循环的,B是循环的,则以下正确的是______。           

        A、对于这两个链表来说,删除首结点的时间复杂度都是O(1)    

        B、对于这两个链表来说,删除尾结点的时间复杂度都是O(n)  

        C、循环单链表B比非循环单链表A占用更多的内存空间      

        D、以上都不对

答案:['对于这两个链表来说,删除尾结点的时间复杂度都是O(n)']

38.在长度为n的______ 上,删除尾结点的时间复杂度为O(1)。      

        A、单链表      

        B、双链表    

        C、循环单链表    

        D、循环双链表

答案:['循环双链表']

39.若元素a、b、c、d、e、f依次进栈,允许进栈、退栈的操作交替进行,但不允许连续3次出栈工作,则不可能得到的出栈序列是______。           

        A、dcebfa    

        B、cbdaef    

        C、bcaefd    

        D、afedcb

答案:['afedcb']

40.一个栈的进栈序列是a、b、c、d、e,则栈的不可能的输出序列是______。             

        A、edcba     

        B、decba     

        C、dceab     

        D、abcde

答案:['dceab']

 41.已知一个栈的进栈序列是1,2,3,…,n,其输出序列的第一个元素是i(1≤i≤n),则第j(1≤j≤n)个出栈元素是______。       

         A、i

        B、n-i      

        C、j-i+1

        D、不确定

答案:['不确定']

 42.已知一个栈的进栈序列是1,2,3,…,n,其输出序列是p1,p2,…,pn,若p1=n,则pi的值______。        

        A、n-i  

        B、i

        C、n-i+1      

        D、不确定

答案:['n-i+1']

43.设有5个元素进栈序列是a、b、c、d、e,其输出序列是c、e、d、b、a,则该栈的容量至少是______。     

         A、1    

         B、2   

         C、3   

         D、4

答案:['4']

 44.设n个元素进栈序列是1、2、3、…、n,其输出序列是p1、p2、…、pn,若p1=3,则p2的值为______。       

        A、一定是2

       B、一定是1 

       C、不可能是1

      D、以上都不对

答案:['不可能是1']

45.由两个栈共享一个数组空间的好处是______。        

        A、减少存取时间,降低上溢出发生的机率    

        B、节省存储空间,降低上溢出发生的机率      

        C、减少存取时间,降低下溢出发生的机率    

        D、节省存储空间,降低下溢出发生的机率

答案:['节省存储空间,降低上溢出发生的机率']

上一篇:计算机程序设计基础----习题9


下一篇:[CodeLab 科技创新营] 课程介绍