【艾琪出品】-【数据结构】测试题系列二

【声明】本博客内容,若有侵权请告之,会删除 非商业用途,如有侵权,请告知我,我会删除

如回复不及时,或不懂的请加我 微信 island68  QQ823173334  可以的话注明来自CSDN

很希望通过CSDN这个平台与大家交流

数据结构
天大2019年秋学期考试《数据结构》离线作业考核
 
题目如下:
第一组:
一、编程题 
(一)        
对于二维整数数组A[m][n],对下列三种情况,分别编写相应的函数。
1.求数组所有边缘元素的数值和。
int sum1(int A[M][N],int m ,int n)
{
2.求从A[0][0]开始的互不相邻的所有元素的和
注:一个元素的八个方向上的第一个元素均为相邻元素。
int sum2 (int A[M][N] , int m , int n)
{
3. 假定m=n,并为偶数,请分别计算正、反两条对角线上的元素值之和。
int sum3(int A[M][N] , int n)
{
(二)        
1.        设计在单链表中删除值相同的多余结点的算法。 
2.        设计一个求结点x在二叉树中的双亲结点算法。 
二、解答题 
(一)        已知一棵二叉树的先序序列是ABCDEFGHIJK,中序序列是CDBGFEAHJIK,请构造出该二叉树。
三、画图题( 
(一)        已知一棵二叉树的前序遍历的结果是ABECDFGHIJ, 中序遍历的结果是EBCDAFHIGJ, 试画出这棵二叉树,并给出这棵二叉树的后序遍历序列。
第二组:
一、编程题(每小题30分,共60分)
(一)        
已知某哈希表的装载因子小于1,哈希函数H(key)为关键字(标识符)的第一个字母在字母表中的序号,处理冲突的方法为线性探测开放定址法。试编写一个按第一个字母的顺序输出哈希表中所有关键字的算法。
(二)        
用标准C语言实现Hanoi塔问题
二、解答题(20分)
(一)        
设待排序记录的关键字序列为{46, 55, 13, 42, 94, 05, 17, 70}写出其第一趟快速排序过程。(要求写出每次交换后的序列,并且枢轴记录到位也算一次交换)
初始关键字:  46   55   13   42   94   05   17   70
1次交换后:
2次交换后:
3次交换后:
4次交换后:
5次交换后:
三、画图题(20分)
(一)        
将下面的森林变换成二叉树
第三组:
一、编程题(每小题30分,共60分)
(一)        设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。
(二)        用标准C语言实现Hanoi塔问题
二、解答题(20分)
(一)        
对下面的带权无向图采用prim算法从顶点①开始构造最小生成树。(写出加入生成树顶点集合S和选择Edge的顺序)
                                                                                                  

                 9          10
②      7       ③
            5            6         7
④            ⑤             ⑥
               11            8
S:        顶点号         
        Edge:
        (顶点,顶点,权值)
        ①                        (,,)
        ①                        (,,)
        ①                        (,,)
        ①                        (,,)
        ①                        (,,)
        ①                                
三、画图题(20分)
(一)        
将给定的图简化为最小的生成树,要求从顶点1出发。
             
      
                     
        
第四组:
一、编程题(每小题30分,共60分)
(一)        
已知某哈希表的装载因子小于1,哈希函数H(key)为关键字(标识符)的第一个字母在字母表中的序号,处理冲突的方法为线性探测开放定址法。试编写一个按第一个字母的顺序输出哈希表中所有关键字的算法。
(二)        设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。
二、解答题(20分)
(一)        
写出下图所示的AOV网的可能拓扑序列,要求至少写出五个
三、画图题(20分)
(一)        
设有序顺序表中的元素依次为017, 094, 154, 170, 275,503, 509, 512, 553, 612, 677, 765, 897, 908。试画出对其进行折半搜索时的判定树, 并计算搜索成功的平均搜索长度和搜索不成功的平均搜索长度。
第五组:
一、编程题(每小题30分,共60分)
(一)        
1.设单链表中有仅三类字符的数据元素(大写字母、数字和其它字符),要求利用原单链表
中结点空间设计出三个单链表的算法,使每个单链表只包含同类字符。
2. 设计在链式存储结构上交换二叉树中所有结点左右子树的算法。 
(二)        
1.        设计在单链表中删除值相同的多余结点的算法。 
2.        设计一个求结点x在二叉树中的双亲结点算法。 
二、解答题(20分)
(一)        
对下面的带权无向图采用prim算法从顶点①开始构造最小生成树。(写出加入生成树顶点集合S和选择Edge的顺序)
                                                                                                  

                 9          10
②      7       ③
            5            6         7
④            ⑤             ⑥
               11            8
S:        顶点号         
        Edge:
        (顶点,顶点,权值)
        ①                        (,,)
        ①                        (,,)
        ①                        (,,)
        ①                        (,,)
        ①                        (,,)
        ②                                
三、画图题(20分)
(一)        
已知一树的双亲表示法如下,其中各兄弟结点是依次出现的,画出该树对应的二叉树。
        1        2        3        4        5        6        7        8        9        10        11        12        13        14        15
data        A        B        C        D        E        F        G        H        I        J        K        L        M        N        O
parent        0        1        1        1        2        2        3        3        4        4        5        6        6        7        8

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值