skystar 发表于 2019-6-25 15:32:39

天大2019年4月考试《数据结构》离线作业考核试题【答案】

    数据结构
             要求:
             一、独立完成,下面已将五组题目列出,请任选其中一组题目作答,
             每人只答一组题目,多答无效,满分100分;
             二、答题步骤:
            1.使用A4纸打印学院指定答题纸(答题纸请详见附件);
            2.在答题纸上使用黑色水笔按题目要求手写作答;答题纸上全部信息要求手写,包括学号、姓名等基本信息和答题内容,请写明题型、题号;
             三、提交方式:请将作答完成后的整页答题纸以图片形式依次粘贴在一个Word
               文档中上传(只粘贴部分内容的图片不给分),图片请保持正向、清晰;
              1.上传文件命名为“中心-学号-姓名-科目.doc”
             2.文件容量大小:不得超过20MB。
             提示:未按要求作答题目的作业及雷同作业,成绩以0分记!

             题目如下:
             第一组:
             一、编程题(每小题30分,共60分)
            (一)
            对于二维整数数组A,对下列三种情况,分别编写相应的函数。
            1.求数组所有边缘元素的数值和。
                int sum1(int A,int m ,int n)
               {
            2.求从A开始的互不相邻的所有元素的和
             注:一个元素的八个方向上的第一个元素均为相邻元素。
            int sum2 (int A , int m , int n)
             {
             3. 假定m=n,并为偶数,请分别计算正、反两条对角线上的元素值之和。
                 int sum3(int A , int n)
                {
             (二)
            1.设有一组初始记录关键字序列(K1,K2,?,Kn),要求设计一个算法能够在O(n)的时间
             复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。?
            2.?设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链
             式存储结构表示。
             二、解答题(20分)
            (一)
            写出下图所示的AOV网的可能拓扑序列,要求至少写出五个










             三、画图题(20分)
            (一)

            将给定的图简化为最小的生成树,要求从顶点1出发。














            第二组:
             一、编程题(每小题30分,共60分)
            (一)
            对于二维整数数组A,对下列三种情况,分别编写相应的函数。
            1.求数组所有边缘元素的数值和。
                int sum1(int A,int m ,int n)
               {
            2.求从A开始的互不相邻的所有元素的和
             注:一个元素的八个方向上的第一个元素均为相邻元素。
            int sum2 (int A , int m , int n)
             {
             3. 假定m=n,并为偶数,请分别计算正、反两条对角线上的元素值之和。
                 int sum3(int A , int n)
                {

             (二)
            已知某哈希表的装载因子小于1,哈希函数H(key)为关键字(标识符)的第一个字母在字母表中的序号,处理冲突的方法为线性探测开放定址法。试编写一个按第一个字母的顺序输出哈希表中所有关键字的算法。

             二、解答题(20分)
            (一)
            设待排序记录的关键字序列为{46, 55, 13, 42, 94, 05, 17,
            70}写出其第一趟快速排序过程。(要求写出每次交换后的序列,并且枢轴记录到位也算一次交换)

             初始关键字:46   55   13   42   94   05   17   70
             1次交换后:
            2次交换后:
            3次交换后:
            4次交换后:
            5次交换后:

             三、画图题(20分)
            (一)
            已知二维数组表示的图的邻接矩阵如下图所示。试分别画出自顶点1出发进行遍历所得的深度优先生成树和广度优先生成树。







             第三组:
             一、编程题(每小题30分,共60分)
            (一)
            对于二维整数数组A,对下列三种情况,分别编写相应的函数。
            1.求数组所有边缘元素的数值和。
                int sum1(int A,int m ,int n)
               {
            2.求从A开始的互不相邻的所有元素的和
             注:一个元素的八个方向上的第一个元素均为相邻元素。
            int sum2 (int A , int m , int n)
             {
             3. 假定m=n,并为偶数,请分别计算正、反两条对角线上的元素值之和。
                 int sum3(int A , int n)
                {
             (二)
            设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。
             二、解答题(20分)
            (一)
            设有一个求解汉诺塔(Hanoi)的递归算法
            voidHANOI (int n , int peg1 , int peg2 , int peg3)
             {
             if (n= =1)
             printf(”move %d to %d\n”,peg1,peg3);
            else
             {
             HANOI (n-1, peg1, peg3, peg2);
             printf(”move %d to %d\n”,peg1,peg3);
            HANOI (n-1, peg2, peg1, peg3) ;
             }
             }
            假定采用HANOI(3,1,2,3)去调用上述算法,则写出整个输出结果的前四行内容。

             三、画图题(20分)
            (一)
            某子系统在通信联络中只可能出现8种字符,其出现的概率分别为0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11试设计赫夫曼编码




页: [1]
查看完整版本: 天大2019年4月考试《数据结构》离线作业考核试题【答案】