![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法平时测验
execution.
这个作者很懒,什么都没留下…
展开
-
“数据结构与算法”平时测验一
假设有n个活动的集合E={a1,a2,…,an},其每个活动都要求使用同一资源(如某个设备、教室、场地等),而在同一时间内只允许一个活动使用这一资源。 每个活动都有一个要求使用该资源的起止时间si,fi,且si<fi。如果选择了活动ai,则它在半开的时间区间[si,fi)内占有资源。两个活动ai,aj称为是相容的,当且仅当它们的时间区间[si,fi)和[sj,fj)不相交,即si>=fj 或 sj >=fi。现要求在所给定的活动集中选出最大的相容活动子集。(提示:贪心策略)主函原创 2020-06-09 08:46:16 · 268 阅读 · 0 评论 -
“数据结构与算法”平时测验一
分治策略是算法设计的重要策略之一,该策略的基本思想是把问题进行分解成一些子问题,通过子问题的求解完成对原问题的求解。其关键是分解和合并,好的分解或合并方法才会产生高效的分治算法。 分治策略设计出的算法最常见的就是递归算法。但是如果在分解时,分解出的子问题有很多是重复的,那么这样的分治(递归)算法求解问题的效率就非常低。例如斐波那契数问题,如果采用递归求解,算法效率非常低:O( 2n )。而如果采用递推求解(动态规划自底向上求解),算法效率非常高:O(n)。 现在请你编写程序,统计计算一个原创 2020-06-09 08:44:51 · 233 阅读 · 0 评论 -
“数据结构与算法”平时测验三
假设二叉树的数据元素为字符,采用二叉链式存储结构。二叉树ADT实现的大部分代码已经给出,其中二叉树采用完全前序序列创建。请补充一个二叉树的输出函数,要求按目录缩进的形式输出一棵二叉树,同时要输出目录的层次。层次占2位、元素占1位,间隔4个位置(即共占7个位置)。 注意:答案区只写指定补充的函数代码,其他给定的代码不允许重写、修改和提交!例如:有如右图的二叉树输入:ABD@@E@@C@F@@输出:1A 2B 3D 3E原创 2020-06-09 08:43:24 · 228 阅读 · 0 评论 -
“数据结构与算法”平时测验三
假设二叉树的数据元素为字符,采用二叉链式存储结构。二叉树ADT实现的大部分代码已经给出,其中采用完全前序序列创建二叉树。请补充写出下列两个操作函数。 注意: 答案区只写出两个函数,其他代码不允许修改和重写、提交!(1)计算以某结点为根的二叉树的高度;(2)以前序顺序输出各个元素结点为根的子树的高度;例如:有如右图的二叉树输入:ABD@@E@@C@F@@输出:Height(A)=3Height(B)=2Height(D)=1Height(E)=1Height©=2Height(F)=原创 2020-06-09 08:41:20 · 457 阅读 · 0 评论 -
“数据结构与算法”平时测验二
■ 堆栈ADT实现及应用假设栈ADT的数据元素为整数,栈ADT的实现采用顺序存储结构。现要用栈来辅助完成任意非负十进制整数到Base(Base不大于35)进制的转换。部分代码已经给出,请补充完善栈溢出处理函数和主函数。 注意:只提交需要补充的函数,其他代码不允许自己重写和修改。栈溢出处理函数overflowProcess:当栈满时,将栈的空间在原来基础上扩大1倍。主函数: 输入一个非负十进制整数n及要转换的进制Base,输出其转换后的进制形式,以及长度。输出格式如下:($...$)10=(#...原创 2020-06-09 08:21:31 · 361 阅读 · 0 评论 -
“数据结构与算法”平时测验二
■ 线性表ADT实现假设线性表ADT的数据元素类型为正整数,采用带头结点的单链式存储结构。线性表ADT实现的大部分代码已经给出,请补充写出类的两个成员函数insert和reverse。 注意:只需提交需要补充的函数代码,其他代码不能自己重写和修改。insert函数:在元素值从小到大有序的线性表中插入一个元素,仍然保持有序。reverse函数:实现线性表元素的倒置,即将线性表中数据元素的顺序反转。线性表元素输入时,以 endTag 作为结束标志。例如输入: 3 8 7 2 4 9 1 6 5 0原创 2020-06-09 08:19:38 · 390 阅读 · 0 评论 -
“”数据结构与算法”平时测验四
“数据结构与算法”平时测验四假设无向、非加权图的数据元素为字符,采用邻接表存储结构。图的创建、存储结构输出等大部分操作的实现代码操作已经给出,请分别补充写出操作插入边、删除边的实现函数代码。有关说明:(1)插入边, int Insert_Edge(g,vi,vj) 输入:图g,要插入边的两个顶点元素vi,vj; 输出:返回插入的状态(成功、错误:边顶点不存在、错误:边重复),根据不同的状态会输出:原创 2020-06-09 08:16:31 · 406 阅读 · 0 评论