南邮数据结构B期末试卷

上传人:j*** 文档编号:55086702 上传时间:2022-02-16 格式:DOC 页数:4 大小:52.50KB
返回 下载 相关 举报
南邮数据结构B期末试卷_第1页
第1页 / 共4页
南邮数据结构B期末试卷_第2页
第2页 / 共4页
南邮数据结构B期末试卷_第3页
第3页 / 共4页
点击查看更多>>
资源描述
数 据 结 构B 期末试卷班级 学号 姓名 得分 题号一二三四五六分数一、 解答题:(共82分)1、下列程序段或函数的时间复杂度.(10)(1) for (int k=0;km;k+) (2)int fac(unsigned int n) for (int j=0;jx) return 1; else return 0; 2、有A、B、C、D四个元素依次入栈,即入栈序列唯一,问共能得到多少种出栈序列?能否得到以下四种出栈序列:ABCD、BDAC、CBDA、DBAC。对能得到的序列,请写出Push、Pop序列;对不能得到的序列,请说明理由。(6%)3、矩阵Am*n以行优先方式从1000H处开始存放,元素类型未知,已知:A23存放在1011H处,A11存放在1005H处,求元素A20的存放位置。(6)4、根据下图所示的树回答问题:(共13%)(1)画出该树等效的二叉树。 (3%)AB CDE F G H I J K L 等效的二叉树(2)、写出对该树进行先序、后序遍历的结点序列。(4)(3)用带右链的先序表示法来存储此树,填写下表。(6)下标01234567891011siblingelementltag5、假设用于通讯的电文仅由 ABCDEFGH 8个字母组成,字母在电文中出现的频率分别为0。07, 0.19, 0.02, 0。06, 0.32, 0。03, 0.21, 0。10.请画出哈夫曼树并在树中标明编码情况,给出这8个字母的哈夫曼编码,最后求出WPL.(9%)6、对下图,要求:(共13)123456783355554664785(1)画出它的邻接表。(3%)(2)写出从顶点1到顶点8的四条路径长度为3的简单路径。(2%)(3)分别写出从顶点1出发根据(1)所示的邻接表用深度优先搜索和广度优先搜索遍历图得到的顶点序列。(4)(4)求出它的一棵最小代价生成树(方法任选),其代价是多少?你所求出的最小代价生成树是唯一的吗?(4)7、 一项工程P由P1,P2,P3,P4,P5,P6六个子工程组成,这些工程之间有下列关系:P1P2, P1P3, P1P4, P2P3, P2P5, P3P6, P4P6, P5P6。其中符号“表示先于关系,例如P1P2表示只有在工程P1完成之后才能进行P2的工作。请:(7%)(1) 画出该工程的AOV网 (2) 给出工程P的其中四种可能的施工顺序.8、按如下关键字序列(60,88,107,15,8,23,100)从空树开始建立一棵AVL搜索树,画出建树的步骤以及调整平衡的过程(6)9、设散列表ht13,散列函数h(key)=key 13。采用二次探查法解决冲突,试用关键字值序列:56,78,14,27,41,70,51,66,24,50,36建立散列表。(6%)i0123456789101112hti10、元素序列:55,71,12,98,4,70,51 ,请写出用冒泡排序法和2路合并排序法进行排序的各趟排序结果。(6%)冒泡排序法 2路合并排序法二、算法填空:(8)以下算法实现二叉搜索树的删除,根据给定的关键字k,找到待删除元素后将元素值通过参数e返回,若成功删除则返回true;找不到待删除元素则返回false.template class E,class K_ BSTree p=root,q=0; while ( p & pelement!=k ) q=p;if (kp-element) p=p-lchild;else _; if (!p) cerrlchild & p-rchild) BTNodelchild; _ ;p=s;q=r;BTNodelchild;else _ ;if ( _ ) root=c;else if ( p= =q-lchild ) qlchild=c;else q-rchild=c;_;return true;三、算法设计(10%)编程实现将两个按元素递增排序的单向循环链表合并成一个单向循环链表,合并后元素仍递增有序,注意:不允许再增加新的结点,相同元素只保留一份.该算法为SingleList类的成员函数Merge,该函数的作用是将形参r代表的单向循环链表合并到当前单向循环链表中,合并后的结果存于当前单循环链表。template class T class SingleList;template class Tclass Node private: T data; NodeT *link;friend class SingleList; ;template class Tclass SingleList:public LinearListTpublic:void Merge(const SingleList r);。private:Nodefirst-r.first合并后:this-firstr.first算法实现:template class Tvoid SingleListT:Merge(const SingleListT &r)4
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 励志创业


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!