第二章单元测试
  1. 线性表是一个( )

  2. A:有限序列,可以为空 B:无限序列,可以为空 C:无限序列,不能为空 D:有限序列,不能为空
    答案:有限序列,可以为空
  3. 能在O(1)时间内访问线性表的第i个元素的结构是( )。

  4. A:单链表 B:顺序表 C:双向链表 D:单向循环链表
    答案:顺序表
  5. 线性表是具有n(n>0)个( )的有限序列。

  6. A:字符 B:数据元素 C:表元素 D:数据项
    答案:数据元素
  7. 若某线性表最常用的操作是存取任一指定序号的元素并在最后进行插入和删除运算,则利用( )存储方式最节省时间。

  8. A:单循环链表 B:顺序表 C:带头结点的双循环链表 D:双链表
    答案:顺序表
  9. 线性表(a1,a2,…,an)以链接方式存储时,访问第i个位置元素的时间复杂性为( )。

  10. A:O(i) B:О(1) C:O(i-1) D:O(n)
    答案:O(n)
  11. 将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为( )

  12. A:O(m+n) B:О(m) C:O(n) D:O(1)
    答案:О(m)
  13. 链表具有的特点是( )。


  14. A:不必事先估计存储空间 B:插入、删除不需要移动元素 C:可随机访问任一元素 D:所需空间与线性长度成正比
    答案:不必事先估计存储空间###插入、删除不需要移动元素###所需空间与线性长度成正比
  15. 已知L是有头结点的非空单链表,则要在P结点前插入S结点的语句序列是( )

  16. A:while(Q -> next! =P) Q =Q -> next; B:Q ->next =S; C:Q=L; D:Q=P; E:delete Q; F:S->next =Q->next; G:P-> next =Q-> next; H:P=Q; I:P->next =S-> next;
    答案:while(Q -> next! =P) Q =Q -> next;###Q ->next =S;###Q=L;###S->next =Q->next;
  17. 下面代码是实现尾插法创建单链表L的过程,请选择合适的语句,将代码补充完整。( )


    void CreatList_R(LinkList& L, int n) {

        L = new LNode;

        L->next = NULL;

       

        for (int i = 0; i < n; i++) {

            LNode * p = new LNode;

            cin >> p->data;

            

            r = p;

        }

    }

     


  18. A:LNode * p = NULL; B:p->next = NULL; r->next = p; C:LNode * r = L; D:LNode * r = L->next; E:r-> next =NULL; p->next = r;
    答案:p->next = NULL; r->next = p;###LNode * r = L;
  19. 线性表的逻辑顺序与物理顺序总是一致的。( )

  20. A:错 B:对
    答案:错
  21. 线性表的插入和删除操作总是伴随着大量数据的移动。( )

  22. A:对 B:错
    答案:错
  23. 在顺序表中取出第i个元素所花费的时间与i成正比。( )

  24. A:对 B:错
    答案:错
  25. 线性表采用链式存储表示时,所有结点之间的存储单元地址可连续可不连续。( )

  26. A:错 B:对
    答案:对
  27. 在单链表中,要访问某个结点,只要知道该结点的指针即可,因此,单链表是一种随机存取结构。( )

  28. A:对 B:错
    答案:错
  29. 在具有头结点的链式存储结构中,头指针指向链表中的第一个数据结点。( )

  30. A:对 B:错
    答案:错
  31. 在一个具有头指针和尾指针的单链表中,执行删除该单链表中最后一个元素的操作与链表的长度无关。( )

  32. A:对 B:错
    答案:错

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(4) dxwkbang
返回
顶部