一起答

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

  • 卷面总分:120分
  • 浏览次数:0
  • 测试费用:免费
  • 答案解析:是
  • 练习次数:0次
  • 作答时间:100分钟
试卷简介

全国自考(数据结构)模拟试卷4是为自考数据结构整理的试卷,本试卷共五大题,共100分。

  • 单项选择题
  • 填空题
  • 解答题
  • 算法阅读题
  • 算法设计题
部分试题预览
  1. 34. 采用单链表作为存储结构,试编写一个函数来实现用选择排序方法进行升序排列。

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

    Trans_Sparmat(SpMatrixTp a,SpMatrixTp*b)

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

        if(a.tu)

          { q=1;

             for(col=1;______;col++)

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

              if(______)==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. 以下算法在开散列表HP中查找键值等于K的结点,成功时返回指向该点的指针,不成功时返回空指针。请分析程序,并在______上填充合适的语句。

    pointer research_openhash(keytypeK,openhash HP)

      {i=H(K);   /*计算K的散列地址*/

        p=HP[i];   /*i的同义词子表表头指针传给P*/

        while(______)p=p—>next; /*未达到表尾且未找到时,继续扫描*/

        ______;

      } 

  4. 30. INITIATE()的功能是建立一个空表。请在______处填上正确的语句。

    lklist initiate_lklist()  /*建立一空表*/ 

    {______;

    ______;

    return(t);

    }

  5. 31. 以下运算实现在顺序栈上的退栈,请在______处用适当的语句予以填充。

    int Pop(SqStackTp*sq,DataType*x)

         { if(sq—>top==0){error("下溢");return(0);)

            else{*x=______;

                    ______;

                    return(1);

         }

      } 

  6. 27. 对于如下一个有序的关键字序列{5,9,12,18,23,31,37,46,59,66,71,78,85),现在要求用二分法进行查找值为18的关键字,则经过几次比较之后能查找成功?

  7. 29. 已知数据序列为{12,5,9,20,6,31,24),对该数据序列进行排序,试写出插入排序和冒泡排序每趟的结果。

  8. 28. 已知有一关键字序列为{505,94,512,61,908,170,897,275,653,463),如果我们采用快速法对此序列进行排序(按照升序排序),请给出每一趟排序的结果。

  9. 26. 请根据下面所给出的邻接矩阵画出相应的有向图或者是无向图(顶点vi表示)。

  10. 25. 查找表按其所包括的运算的不同分为______查找表和______查找表。