一起答

全国自考(数据结构)模拟试卷10

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
  1. 34. 对一个有t个非零值元素的m×n矩阵,用B[0..t,1..3]的数组来表示,其中第0行的三个元素分别是m,n,t,从第一行开始到最后一行,每行表示一个非零元素,第一列为矩阵元素行号,第二列为其列号,第三列为其元素量,对这样的表示法,试编写一个算法确定任意一个元素A[i][j]的位置,并考虑若修改其元素值须用多少时间?(设B中第1列原行号是递增的)

  2. 33. 基于三元组的稀疏矩阵转置的处理方法有两种,以下运算按照矩阵A的三元组a.data的次序进行转置(快速转置),请在______处用适当的语句予以填充。

    Fast_Trans_Sparmat(SpMatrixTpa,SpMatrixTp*b)

        { (*b).mu=a.nu;(*b).nu=a.mu;(*b).tu=a.tu;

          if(a.tu)

      {for(col)=1;______col++)unm[col]=0

        for(t=1;t<=a.tu;t++)num[a.data[t].j]++;

        cpot[1]=1;

        for(col=2;col<=a.nu;col++)cpot[col]=______;

        for(p=1;p<=a.tu;p++)

          { col=a.data[p].j;

            q=cpot[col];

        (*b).data[q].i=a.data[p].j;

        (*b).data[q].j=a.data[p].i;

        (*b).data[q].v=a.data[p].v;

            ______;

          }

        }

      }

  3. 32. 以下为冒泡排序的算法。请分析算法,并在______处用适当的语句予以填充。

    void bubblesort(int n,list r) /*fiag为特征位,定义为布尔型*/

      {for(i=1;i<=______,i++)

           {______;

             for(j=1;j<=______;j++)

               if(r[j+1].key<r[j].key){flag=0;p=r[j];r[j]=r[j+1];r[j+1]=P;}

             if(flag)return;

           }

      }

  4. 30. 以下运算实现在循环队上的入队列,请在______处用适当的语句予以填充。

    int EnCycQueue(CycquetaeTp*sq,DataType x)

            { if((sq—>rear+1)%maxsize==______)

                   {error("队满");return(0);)

              else{______;

                   ______;

              return(1);

              }

           }

  5. 31. 以下程序段采用先根遍历方法求二叉树的叶子数,请在______处填充适当的语句。

    void countleaf(bitreptr t,int*count)/*根指针为t,假定叶子数count的初值为0*/

           { if(t!=NULL)

              { if((t—>lchild==NULL)&&(t—>rchild==NULL))______;

                 countleaf(1—>lehild,count);

              ______;

              }

           }

  6. 28. 已知:S='XYZ*+' T='(X+Z)*Y',试利用串的各种基本运算将S转换为T。

  7. 29. 令s=‘aaab’,t=‘abcabaa’,u=‘abcaabbabcabaacbacba’,分别求出它们的next值。

  8. 27. 对如图所示的有向图G,请给出其广度优先遍历序列,并画其DFS子树(以A为源点)。

  9. 26. 设某文件有14个记录,其关键字分别为{25,75,125,93,241,203,19,198,121,173,218,80,214,329}。桶的容量M=3,此时采用除留余数法构造散列函数,且散列函数为h(k)=k%5,画出该散列文件的结构图,并说明如何对其进行删除或插入、检索等操作。

  10. 25. 任意一棵具有n个结点的二叉树,若它有m个叶子,则该二叉树上度数为1的结点为______个。

  11. 23. 具有N个顶点的无向完全图的边为______,具有N个顶点无向完全图的弧为______。

  12. 24. 设树T的度为4,其中度为1、2、3和4的结点个数分别是4、2、1和1,则T中叶子结点的个数是:______。

  13. 21. ISAM文件采用______索引结构,而VSAM文件采用______索引结构。

  14. 22. 已知广义表A=((a,b,c),(d,e,f)),则运算head(head(tail(tail(A))))=______。

  15. 20. 散列文件关键在于选择好的______和______方法。

  16. 19. 带有一个头结点的单链表head为空的条件是______。

  17. 18. 在线性结构中,______决定了它的遍历路线只有一条。

  18. 16. 从树的根结点到树中的其余结点之间的路径______惟一的。

  19. 17. 一个字符串相等的充要条件是______和______。

  20. 15. 将含100个结点的完全二叉树从根这一层开始,每层从左到右依次对结点编号,根结点的编号为1。编号为71的结点的双亲的编号为( )

    • A.34
    • B.35
    • C.36
    • D.无法确定
  21. 13. 由权值为4,2,8,7的四个叶子构成一棵哈夫曼树之后,此树的带权路径的长度为( )

    • A.21
    • B.42
    • C.40
    • D.44
  22. 14. 一棵二叉树满足下列条件:对任一结点,若存在左、右子树,则其值都小于它的左子树上所有结点的值,而大于右子树上所有结点的值。现采用【 】遍历方式就可以得到这棵二叉树所有结点的递增序列。

    • A.先根
    • B.中根
    • C.后根
    • D.层次
  23. 11. 对一棵非空二叉树进行中序遍历,则根结点的左边( )

    • A.只有左子树上的所有结点
    • B.只有右子树上的所有结点
    • C.只有左子树上的部分结点
    • D.只有右子树上的部分结点
  24. 12. 索引非顺序文件是指( )

    • A.主文件无序,索引表有序
    • B.主文件有序,索引表无序
    • C.主文件有序,索引表有序
    • D.主文件无序,索引表无序
  25. 9. 深度为k的二叉树,所含叶子的个数最多为( )

    • A.2K
    • B.K
    • C.2K-1
    • D.2K-1
  26. 10. 设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

    • A.5
    • B.6
    • C.7
    • D.8
  27. 8. 从一个包含2000个结点的散列表A[1..2000]中查找结点的平均比较次数( )从一个包含200个结点的散列表B[1..200]中查找结点的平均比较次数。

    • A.大于
    • B.小于
    • C.等于
    • D.不确定
  28. 7. 一个长度为10的有序表,按照二分查找法对该表进行查找,在表内各元素等概率的情况下,查找成功所需要的平均比较次数为( )

    • A.25/10
    • B.27/10
    • C.29/10
    • D.31/10
  29. 6. 串是一种特殊的线性表,其特殊性体现在( )

    • A.可顺序存储
    • B.数据元素是一个字符
    • C.可链接存储
    • D.数据元素可以是多个字符
  30. 5. 设深度为k的二叉树上只有度为0和度为2的结点,则这类二叉树上所含结点总数量少( )个。

    • A.k+1
    • B.2k
    • C.2k-1
    • D.2k+1
  31. 4. 下面四种内排序方法中,要求内存容量最大的是( )

    • A.插入排序
    • B.选择排序
    • C.快速排序
    • D.归并排序
  32. 2. 长度为12的有序表:Apr,Aug,Dec,Feb,Jan,Jul,Jun,Mar,May,Nov,Oct,Sep,按折半查找法对该表进行查找。在表内各元素等概率情况下查找成功所需的平均比较次数为( )

    • A.35/12
    • B.37/12
    • C.39/12
    • D.43/12
  33. 3. 采用分治法进行排序的方法是( )

    • A.快速排序
    • B.插入排序
    • C.堆排序
    • D.希尔排序
  34. 1. 如图所示二叉树的中序遍历序列是(  )

    • A.a b c d g e f
    • B.d f e b a g c
    • C.d b a e f c g
    • D.d e f b a g c