一起答

数据结构自考2013年10月真题及答案解析

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 已知:

    typedef struct node{

          int data;

           struct node *next;

    } LinkNode;

    typedef LinkNode *LinkList;

    请编写原型为int Listisequal(LinkList A,LinkList B)的函数,指针A、B分别指向两个带头结点的单链表。函数功能是:若单链表A、B中全部对应结点的data值相等,则返回1,否则返回0。

  2. 下列函数实现直接插入排序,请填写适当内容,使其功能完整。

  3. 函数BinSearch实现二分查找,请回答下列问题。

    (1)在空白处填写适当内容,使函数功能完整。

    (2)查找成功时函数的返回值是什么?

    (3)查找失败时函数的返回值是什么?

  4. 阅读下列函数并回答问题

    (1)执行该函数后,单链表head中data值为x的结点数是多少?

    (2)该函数的功能是什么?

  5. 阅读下列函数并回答问题

    typedef struct node{

             DataType data;

             struct node *lchild, *rchild;

    }BinTNode;

    typedef B inTNode *BinTree;

    void Inorder(BinTree bt)

    {

              if(bt!=NULL){

                 Inorder(bt->lchild);

                 printf(〃%c〃,bt->data);

                 Inorder(bt->rchild);

           }

    }

    (1)给出对如题3 1图所示的二叉树执行函数Inorder后得到的输出序列。

    (2)该函数的功能是什么?

  6. 已知二叉树如题29图,请画出该二叉树的前序线索。

  7. 己知带权图G=(VE),其中V=(A,B,C,D,E),邻接矩阵如下

    (1)画出对应的图G

    (2)画出图G的最小生成树

  8. 已知一组待排记录的关键字序列为(15,11,17,59,14,35,13,17,24,84),请给出对应的小根堆序列。

  9. 己知图G的邻接表如题25图所示。从顶点v1出发进行深度优先搜索,得到的深度优先搜索序列是__________.

  10. 设Q[M]是有M个元素存储空间的循环队列,若front指向队首元素,rear指向队尾元素的下一位置,请分别用C语言描述下列操作:

    (1)将元素x入队;

    (2)将队首元素出队,并保存到变量y中;

    (3)计算当前队列中元素个数。

  11. 己知散列表表长m=11,散列函数h(key)=key%11,表中存有三个关键字15,27,39,其余地址为空,若采用线性探查法处理冲突,则关键字为60的结点保存的地址是_________。

  12. 图的遍历方法有两种,一种是深度优先遍历,另一种是__________。

  13. 如果排序算法是稳定的,则关键字相同的两个记录排序前后相对次序__________。

  14. 以权值分别为4,3,2,1的四个叶子结点构成的哈夫曼树,其带权路径长度WPL是_______。

  15. 广义表A=(x,((y,z),a,b)),则函数head(head(tail(A)))的值是__________。

  16. 顺序栈存放在S[m]中,S[0]为栈底,栈顶指针top初始值为-1,则栈满的条件是top= __________。

  17. 若在长度为n的顺序表第i个元素之前插入一个元素,则需要向后移动的元素个数是__________。

  18. 队列只能在队尾进行插入操作,在队首进行__________操作。

  19. 下列排序算法中,时间复杂度为的算法是(  )

    • A.快速排序
    • B.冒泡排序
    • C.直接选择排序
    • D.直接插入排序
  20. 数据的同一种逻辑结构,可以对应多种不同的__________。

  21. 下列线性表中,能使用二分查找的是(  )

    • A.顺序存储(2,12,5,6,9,3,89,34,25)
    • B.链式存储(2,12,5,6,9,3,89,34,25)
    • C.顺序存储(2,3,5,6,9,12,25,34,89)
    • D.链式存储(2,3,5,6,9,12,25,34,89)
  22. 对下图进行拓扑排序,可以得到的拓扑序列是(  )

    • A.a b c d e
    • B.b a c d e
    • C.b c a d e
    • D.a b d c e
  23. 在下列查找方法中,平均查找长度与结点数量无直接关系的是(  )

    • A.顺序查找
    • B.分块查找
    • C.散列查找
    • D.基于B树的查找
  24. 在下列排序算法中,关键字比较次数与初始排列次序无关的是(  )

    • A.冒泡排序
    • B.希尔排序
    • C.直接插入排序
    • D.直接选择排序
  25. 下列关于有向带权图G的叙述中,错误的是(  )

    • A.图G的任何一棵生成树都不含有回路
    • B.图G生成树所含的边数等于顶点数减1
    • C.图G含有回路时无法得到拓扑序列
    • D.图G的最小生成树总是唯一的
  26. 无向图G的邻接矩阵一定是(  )

    • A.对称矩阵
    • B.对角矩阵
    • C.三角矩阵
    • D.单位矩阵
  27. 若采用邻接矩阵A存储有向图G,则结点k的入度等于A中(  )

    • A.结点k对应行元素之和
    • B.结点k对应列元素之和
    • C.结点k对应行和列元素之和
    • D.非零元素之和
  28. 若栈的进栈序列为1,2,3,4,5,则经过出入栈操作不可能获得的出栈序列是(  )

    • A.4,5,3,2,1
    • B.4,3,5,1,2
    • C.1,2,3,4,5
    • D.5,4,3,2,1
  29. 深度为4的完全二叉树的结点数至少为(  )

    • A.4
    • B.8
    • C.13
    • D.15
  30. A是7×4的二维数组,按行优先方式顺序存储,元素A[0][0]的存储地址为1 000,若每个元素占2个字节,则元素A[3][3]的存储地址为(  )

    • A.1015
    • B.1016
    • C.1028
    • D.1030
  31. 在头指针为head的循环链表中,判断指针变量P指向尾结点的条件是(  )

    • A.p->next->next==head
    • B.p->next==head
    • C.p->next->next==NULL
    • D.p->next==NULL
  32. 迪杰斯特拉(Dijkstra)算法的功能是(  )

    • A.求图中某顶点到其他顶点的最短路径
    • B.求图中所有顶点之间的最短路径
    • C.求图的最小生成树
    • D.求图的拓扑排序序列
  33. 对需要频繁插入和删除结点的线性表,适合的存储方式是(  )

    • A.顺序储存
    • B.链式存储
    • C.索引存储
    • D.散列存储
  34. 算法的时间复杂度表征的是(  )

    • A.算法的可读性
    • B.算法的难易程度
    • C.执行算法所耗费的时间
    • D.执行算法所耗费的存储空间