2020贵州大学数据结构测试题及答案.docVIP

  • 18
  • 0
  • 约2.81千字
  • 约 7页
  • 2022-10-02 发布于陕西
  • 举报
PAGE PAGE 1 贵州大学2020学年第二学期测试试卷 数据结构与算法分析 学号: 姓名: 班级: 注意事项: 1. 请考生按要求在试卷装订线内填写姓名、学号和年级专业。 2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。 3. 不要在试卷上乱写乱画,不要在装订线内填写无关的内容。 4. 满分100分,考试时间为60分钟。 题 号 一 二 总 分 统分人 得 分 得 分 评分人 一、数据操作题(共80分,1~6题10分,7题20分) 1、用A[0]~A[7]数组顺序存储一个循环队列,队首和队尾分别用front和rear表示。当前对中有34,13,23,16,70,其中34在队首,front=3,连续两次出队操作后,12,17,50依次入队,画出最后队列的存储状态。 2、已知一颗二叉搜索树的广义表表示为46(25(12,37(29)),70(62,80)),依次删除下列节点:37、25、62、46、12、29,画出每次删除后的二叉搜索树(需要平衡)。 3、下图表示工程活动图,其中ai表示天数,画出该图的关键路径和求该工程关键路径长度。 4、已知一组元素的排序码为(33,45,24,33,47,16,62,8),要求将该组数据排成升序表,分别画出直接插入排序第二趟排序的结果和二路归并排序第二趟排序的结果。 5、有一份电文中共使用五个字符:a,b,c,d,e; 它们的出现频率依次为11,14,12,9,16;填写下表空白空格,求解哈夫曼树以及哈夫曼编码 序号 权重 父结点 左孩子 右孩子 编码 1 11 2 14 3 12 4 9 5 16 6 7 8 9 6、假定一组记录的关键字为{30,25,29,22,11,7,28,33,88,72},采用Hash表存储,Hash表空间大小为13,Hash函数为H(key)=key mod 13,用链接法处理冲突,请画出最后得到的Hash表,求出平均查找长度。 . . 7、使用链式基数排序在有些时候效率可以非常高,现有无序数组A = { 350, 132, 123, 43, 5, 286, 465, 769, 520, 53}需要排序,我们从个位到百位分别进行分配和收集,请分别画出第一趟分配后、第一、二、三趟收集后的元素逻辑关系。 第一趟分配后: e[0] e[1] e[2] e[3] e[4] e[5] e[6] e[7] e[8] e[9] f[0] f[1] f[2] f[3] f[4] f[5] f[6] f[7] f[8] f[9] 收集情况记录表 第一趟 第二趟 第三趟 得 分 评分人 二、程序算法题(20分) 编写程序,根据下面数据结构,非递归方式实现二叉树的中序遍历 (10分) struct BTreeNode{ int data; BTreeNode* left; BTreeNode* right; }; Void InOrder( BTreeNode * bt) { } 完成直接选择排序函数(升序排序)。(10分) void SelectSort(int a[],int n) { } PAGE 共 NUMPAGES 3页,第PAGE 1页 1.答案:(数组中的数据和两指针每错一处扣一分) 7 16 6 fron front 5   4 rear  rear 3 50 2 17 1 12 0 70 2.答案(每个图1分) 以前的题不需要平衡, 答案与现在的题不对应,需要你们自己做 3.答案(关键路径3分;该工程路径长度3分) 工程最少需要18天 4.答案(每个排序结果3分) 直接插入排序第二趟排序:24,33,45,33,47,16,62,8 二路归并排序第二趟排序:24,33,33,45,8,16,47,62 5.答案(每个编码1分,推导过程3分,答案不唯一) 序号 权重 父结点 左孩子 右孩子 编码 1a 11 6 110 2b 14 7 00 3c 12 7 01 4d 9 6 111 5e 16 8 10 6 20 8 1 4 7 26 9 2 3 8 36 9 5 6 9 62 7 8 6.答案(哈希表5分,平均查找长度3分) 0 1 2 3 4 5 6 7 8 9 10 11 12 ^ ^ ^ ^ ^ 25^11^22^28^ 25 ^ 11 ^ 22 ^ 28 ^ 7 88 ^ 29 ^ 30 ^ 33 33 72 72 ^ Asl=(8*1+2*1+3*1)/10=13/10

文档评论(0)

1亿VIP精品文档

相关文档