java,c,数据结构等相关作业
文章平均质量分 91
由于大学生学习程序设计较困难,本专栏开辟了在学习过程中遇见的问题答案
羁旅少年
记于2023年6月27日,大二临近结束,即将大三。这里是我的简介,曾经列举我参加过什么比赛,获得过什么奖项,发表过什么文章,但是现在都没了。逐渐趋于平凡,日益发现自己像是个废人,在主干课和专业课之间徘徊,在兴趣与爱好之间游走,像一个小石子,不想甘于平凡可是又没有收获。不想流露一种消极的思想,但是我大概是不想走出舒适圈了,我真心羡慕快乐开心的大学生活。我的大学在被迫内卷中度过,所以我并不开心,大学并不快乐,也没有女朋友,我想进入舒适圈,进入的我浪浪山,希望祝君继续努力,如果我恢复,我将修改简介,谢谢!
展开
-
分治法课堂案例(接6--8,1--5请见本人2024.3.30日博客)
本关任务:S中的n个点为x轴上的n个实数。给定n个实数,用分治法求最接近点对的距离。给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。例如:给出 S = [1,2,3,4,5,2,2] S其众数是2,重数是3。一个排列含有逆序的个数称为这个排列的逆序数。输入格式:两行,第一行正整数N,第二行n个实数 输出格式:这n个实数的最接近点对距离。第一行是一个整数n,表示该排列有n个数(n原创 2024-04-09 12:29:12 · 749 阅读 · 0 评论 -
动态分区算法
当进程运行完毕释放内存时,系统根据回收区的首址,从空闲区链(表)中找到相应的插入点,此时可能出现以下四种情况之一: (1) 回收区与插入点的前一个空闲分区F1相邻接,此时应将回收区与插入点的前一分区合并,不必为回收分区分配新表项,而只需修改其前一分区F1的大小。(2) 回收分区与插入点的后一空闲分区F2相邻接,此时也可将两分区合并,形成新的空闲分区,但用回收区的首址作为新空闲区的首址,大小为两者之和。然后再按照作业的大小,从该分区中划出一块内存空间,分配给请求者,余下的空闲分区仍留在空闲链中。原创 2024-04-09 12:21:23 · 633 阅读 · 0 评论 -
分治法课堂案例(1-8未完,只有1-5,待续)
分治法,字面意思是“分而治之”,就是把一个复杂的1问题分成两个或多个相同或相似的子问题,再把子问题分成更小的子问题直到最后子问题可以简单地直接求解,原问题的解即子问题的解的合并,这个思想是很多高效算法的基础,例如排序算法(快速排序,归并排序),傅里叶变换(快速傅里叶变换)等。分治法的基本思想:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。原创 2024-03-30 10:11:47 · 804 阅读 · 0 评论 -
算法6.4-6.6DFS
输入说明: 第一行为顶点数n和边数e 第二行为n个顶点符号 接下来e行为e条边,每行两个字符代表无向图的一条边 最后一行仅包含一个字符,代表深搜开始顶点 输出说明: 一条路径,顶点之间相隔四个空格。输入说明: 第一行为顶点数n和边数e 第二行为n个顶点符号 接下来e行为e条边,每行两个字符代表无向图的一条边 最后一行仅包含一个字符,代表深搜开始顶点 输出说明: 一条路径,顶点之间相隔四个空格。根据提示,在右侧编辑器补充代码,输出由一个顶点出发的深搜路径,顶点之间间隔四个空格。原创 2024-03-27 16:26:57 · 729 阅读 · 2 评论 -
MySQL数据库 - 复杂查询(一)
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。请仔细阅读右侧代码,根据方法内的提示,在。原创 2024-03-27 16:37:32 · 853 阅读 · 1 评论 -
算法练习-常用查找算法复现
对于任意一个序列,从一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。折半查找的前提条件是需要有序表顺序存储,对于静态查找表,一次排序后不再变化,折半查找能得到不错的效率。但对于需要频繁执行插入或删除操作的数据集来说,维护有序的排序会带来不小的工作量,那就不建议使用。——《大话数据结构》插值查找基于二分查找算法,将查找点的选择改进为自适应选择,可以提高查找效率。当然,差值查找也属于有序查找原创 2024-03-24 18:00:54 · 927 阅读 · 0 评论 -
递归课堂案例
递归就是:A方法调用B方法,就是自己调用自己。利用递归可以简单的程序来解决一些复杂的问题。它通常把一个大型的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可以描叙出解题过程过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。原创 2024-03-24 17:43:15 · 826 阅读 · 0 评论 -
MySQL数据库 - 单表查询(三)
在我们查询大量数据结果时,会返回很多条数据,有需要的记录可能就其中的一条或者几条。如果我们需要对读取的语句进行排序,我们就可以使用。为了完成本关任务,你只需要掌握分组查询的单独使用。本关任务:对班级表中的班级名称进行分组查询。,表示从查询结果的第一条记录开始,若偏移量为。,则从查询结果中的第二条记录开始,以此类推。第二个参数,记录数,表示返回查询结果的条数。名的学生信息,并根据学生成绩进行降序排序。名的学生信息,并根据学生成绩进行降序排序。我们需要查询表中信息,要求按照年龄的。原创 2024-03-24 17:26:01 · 1020 阅读 · 0 评论 -
算法设计与分析——十大经典排序算法二(6--10)
桶排序 (Bucket sort)的工作的原理:假设输入数据服从均匀分布,将数据分到有限数量的桶里,每个桶再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排)。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。最后的次序就是高优先级高的在前,高优先级相同的低优先级高的在前。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。原创 2023-03-01 10:30:09 · 1014 阅读 · 0 评论 -
算法设计与分析——十大经典排序算法一(1--5)
算法设计与分析中最经典的十大排序的前五种排序原创 2023-02-28 15:16:27 · 4794 阅读 · 8 评论 -
双向链表的双向冒泡排序、红白蓝砾石排序、算法设计4-5
本关任务:借助于快速排序的算法思想,在一组无序的记录中查找给定关键字值等于key的记录。本关任务:设有顺序放置的n个桶,每个桶中装有一粒砾石,每粒砾石的颜色是红,白,蓝之一。要求重新安排这些砾石,使得所有红色砾石在前,所有白色砾石居中,所有蓝色砾石居后,重新安排时对每粒砾石的颜色只能看一次,并且只允许交换操作来调整砾石的位置。本关任务:编写算法,对n个关键字取整数值的记录序列进行整理,以使所有关键字为负值的记录排在关键字为非负值的记录之前,要求: ① 采用顺序存储结构,至多使用一个记录的辅助存储空间;原创 2023-01-01 17:22:43 · 1048 阅读 · 2 评论 -
头歌作业之排序1、2、3、4
为了完成本关任务,你需要掌握:链表的相关操作和掌握选择排序算法。为了完成本关任务,你需要掌握:直接插入排序的算法思想。为了完成本关任务,你需要掌握:折半插入排序算法。本关任务:编写一个能实现希尔排序算法的函数。本关任务:编写一个能实现希尔排序算法的函数。本关任务:编写一个能实现希尔排序算法的函数。本关任务:编写一个能实现希尔排序算法的函数。本关任务:编写一个能实现希尔排序算法的函数。本关任务:编写一个能实现希尔排序算法的函数。本关任务:编写函数实现折半插入排序算法。3 9 5 8 7 (数字序列)原创 2023-01-01 17:13:33 · 8425 阅读 · 0 评论 -
算法练习-常用查找算法复现
目录算法练习-常用查找算法复现(PS:1 -- 3自己写的,4、5懒得写了,直接拿的同学的)第1关:顺序查找(算法7.1和7.2)任务描述相关知识编程要求测试说明参考代码第2关:折半查找(算法7.3)任务描述相关知识编程要求测试说明参考代码第3关:二叉排序树和查找(算法7.4-7.7)任务描述相关知识编程要求测试说明参考代码 第4关:B- 树的查找和插入(算法7.8和7.9)任务描述相关知识编程要求测试说明 参考代码第5关:散列表查找(算法7.10)任务描述相关知识编程要求测试说明参考代码作者有言本关任务:原创 2023-01-01 16:49:29 · 1279 阅读 · 0 评论 -
查找:折半查找、平衡二叉树、散列表(习题-1、5、6)二叉排序树(习题-2、3、4)
1.二叉排序树的定义二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: (1)若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;本关任务:已知二叉排序树采用二叉链表存储结构,根结点的指针为T,链结点的结构为(lchild, data, rchild),其中lchild、rchild分别指向该结点左、右孩子的指针,data域存放结点的数据信息。请写出递归算法,从小到大输出二叉排序树中所有数据值≥x的结点的数据。原创 2023-01-01 15:55:05 · 1223 阅读 · 0 评论 -
java实验报告之Employee类的设计
课程名称Java程序设计指导教师***学号姓名实验地点***实验时间***项目名称实验类型设计性一、实验目的(1)全面检验面向对象编程思想,巩固Java面向对象的封装、继承和多态;(2)掌握常用API的使用;(3)加强实践动手能力,能够将从书本上学习到的理论知识用到了实践上。二、实验内容某公司的雇员分为5类,每类员工都有相应的封装类,这5个类的信息如下所示。(1) Employee:这是所有员工总的父类。① 属性:员工的姓名,员工的生日月份。原创 2022-12-20 15:26:16 · 3085 阅读 · 2 评论 -
java实验报告之模拟银行存取款业务
课程名称面向对象程序设计(Java)指导教师***学号姓名实验地点***实验时间***项目名称实验类型综合性一、实验目的(1)全面检验面向对象编程思想,巩固Java面向对象、集合和常用API类等方面知识的应用;(2)加强实践动手能力,能够将从书本上学习到的理论知识用到了实践上。二、实验内容模拟网上银行业务,当用户登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型。原创 2022-12-20 12:20:38 · 6217 阅读 · 7 评论 -
习题1-增加删除顶点和边(邻接矩阵+邻接表)习题2-5 DFS和BFS
本关任务:以邻接矩阵作为存储结构,实现无向图的基本操作。本关任务:以邻接表作为存储结构,实现无向图的基本操作。行后紧接一行为操作的数目。行后紧接一行为操作的数目。输入的第一行为顶点数。个顶点的名称 接下来的。输入的第一行为顶点数。个顶点的名称 接下来的。原创 2022-12-11 09:27:37 · 4051 阅读 · 0 评论 -
算法6.10-6.11最短路 6.12 拓扑排序 6.13关键路径 6.14 六度空间
输入说明: 第一行为顶点数n和边数e 第二行为n个顶点符号 接下来e行为e条边,每行前两个字符代表无向图的一条边,第三个表示边权。输入说明: 第一行为顶点数n和边数e 第二行为n个顶点符号 接下来e行为e条边,每行前两个字符代表无向图的一条边,第三个表示边权。本关任务:编写一个最短路径的Dijkstra算法,采用邻接矩阵表示图。根据提示,在右侧编辑器补充代码,输出两个顶点所对应的最短路径。本关任务:编写一个最短路径的Floy算法,采用邻接矩阵表示图。输出说明: 顶点之间的最短路径。原创 2022-12-10 19:35:00 · 1120 阅读 · 0 评论 -
算法6.7BFS 算法6.8-6.9最小生成树
输入说明: 第一行为顶点数n和边数e 第二行为n个顶点符号 接下来e行为e条边,每行两个字符代表无向图的一条边 最后一行仅包含一个字符,代表广搜开始顶点 输出说明: 一条路径,顶点之间用空格分隔。输入说明: 第一行为顶点数n和边数e 第二行为n个顶点符号 接下来e行为e条边,每行两个字符代表无向图的一条边 最后一行仅包含一个字符,代表广搜开始顶点 输出说明: 一条路径,顶点之间用空格分隔。为了完成本关任务,你需要掌握:1.如何创建邻接矩阵2.如何对图进行广搜。本关任务:编写一个采用邻接表表示图的广搜程序。原创 2022-12-10 18:58:34 · 888 阅读 · 0 评论 -
数据结构图 算法6.1-6.2创建无向网 算法6.4-6.6DFS
本关任务:编写一个能输出无向图邻接矩阵的小程序。为了完成本关任务,你需要掌握:1.创建邻接矩阵根据提示,在右侧编辑器补充代码,输出邻接矩阵。第一行是顶点数目n和边数目e,中间以空格分开 第二行是n个字符型的顶点数目名称,中间以空格分开 接下来e行分别是对应的边 比如说 A B 400 表示顶点A和B之间有边,权值为400平台会对你编写的代码进行测试:测试输入:预期输出:原创 2022-12-06 16:44:01 · 2131 阅读 · 0 评论 -
实验报告——基于Dijsktra算法的最短路径求解
课程名称:数据结构项目名称:基于Dijsktra算法的最短路径求解实验类型:设计性实验1.掌握图的邻接矩阵表示法,掌握采用邻接矩阵表示法创建图的算法。2.掌握求解最短路径的Dijsktra算法。装有Dev C++的计算机一台结合在头歌上已完成的实训任务进行填写,不限于下方要求。可自行补充算法分析、算法描述或流程图一张地图包括n个城市,假设城市间有m条路径(有向图),每条路径的长度已知。给定地图的一个起点城市和终点城市,利用Dijsktra算法求出起点到终点之间的最短路径。多组数据,每组数据有m+3行。第一行原创 2022-12-03 22:28:59 · 3513 阅读 · 7 评论 -
数据结构“二叉树操作的实现”与“基于哈夫曼树的数据压缩算法”的实验报告
利用二叉树的二叉链表的存储结构,编写一个程序完成对二叉树的操作的实现。原创 2022-11-22 17:02:23 · 2125 阅读 · 0 评论 -
数据结构“基于哈夫曼树的数据压缩算法”的实验报告
1. 【问题描述】输入一串字符串,根据给定的字符串中字符出现的频率建立相应的哈夫曼树,构造哈夫曼编码表,在此基础上可以对压缩文件进行压缩(即编码),同时可以对压缩后的二进制编码文件进行解压(即译码)原创 2022-11-20 02:21:03 · 3195 阅读 · 0 评论 -
算法5.1-5.6、5.7-5.9线索二叉树、5.10-5.11构造哈夫曼树求哈夫曼编码、5.12-5.13表达式求值
为了完成本关任务,你需要掌握:1.如何中序遍历二叉树 2.如何先序遍历建立二叉树 3.如何统计二叉树中的节点。为了完成本关任务,你需要掌握:1.如何中序遍历二叉树 2.如何先序遍历建立二叉树 3.如何计算二叉树的深度。为了完成本关任务,你需要掌握:1.如何中序遍历二叉树 2.如何先序遍历建立二叉树 3.如何复制二叉树。本关任务:编写一个中序遍历的非递归算法,包含算法5.2非递归遍历算法和5.3先序遍历建立二叉树。本关任务:编写一个中序遍历的递归算法,包含算法5.1遍历算法和5.3先序遍历建立二叉树。原创 2022-11-17 01:03:21 · 1809 阅读 · 3 评论 -
第五章习题1-4、习题5-6、习题7-8
双序遍历指的是对于二叉树的每个节点,先访问这个节点,再按双序遍历它的左子树,然后再一次访问这个节点,然后再按双序遍历右子树。为了完成本关任务,你需要掌握:1.如何使用层次遍历的算法,2.如何利用队列。为了完成本关任务,你需要掌握:1.如何创建二叉树,2.如何遍历二叉树。为了完成本关任务,你需要掌握:1.如何创建二叉树,2.如何遍历二叉树。为了完成本关任务,你需要掌握:1.如何创建二叉树,2.如何遍历二叉树。为了完成本关任务,你需要掌握:1.如何创建二叉树,2.如何遍历二叉树。原创 2022-11-16 18:14:32 · 2441 阅读 · 0 评论 -
数据结构算法复现 - 串的模式匹配(算法4.1-4.4)-病毒感染检测(算法4.5)
KMP算法是模式匹配中的经典算法,和BF算法相比,KMP算法的不同点是消除BF算法中主串S指针回溯的情况,从而完成串的模式匹配,这样的结果使得算法的时间复杂度仅为O(n+m)。实际上,因为模式串中的第1、2、3个字符和第4个字符都相等(即都是’a’),因此,不需要再和主串中第4个字符相比较,而可以直接将模式串一次向右滑动4个字符的位置直接进行i=5、j=1的判断。以此类推,直至模式串T中的每一个字符依次和主串S中的一个连续的字符序列相等,则称模式匹配成功,此时返回模式串T的第一个字符在主串S中的位置;原创 2022-11-11 15:54:52 · 3165 阅读 · 0 评论 -
数据结构算法设计题 - 串、数组和广义表(习题1-6)
本关任务:在数组中存放了n个整数,编写算法将所有整数排在负数前面(要求算法的时间复杂度为。测试输入(共2行,第1行为数组中元素的个数n;根据提示并对照测试集要求,在右侧编辑器补充代码,实现所需功能。根据提示并对照测试集要求,在右侧编辑器补充代码,实现所需功能。根据提示并对照测试集要求,在右侧编辑器补充代码,实现所需功能。根据提示并对照测试集要求,在右侧编辑器补充代码,实现所需功能。根据提示并对照测试集要求,在右侧编辑器补充代码,实现所需功能。根据提示并对照测试集要求,在右侧编辑器补充代码,实现所需功能。原创 2022-11-11 15:10:35 · 824 阅读 · 5 评论 -
头歌上有关java作业:java常用类
有关头歌上针对初学java的作业,java常用类。原创 2022-11-09 12:03:54 · 9611 阅读 · 2 评论 -
头歌上有关java作业
图中,在调用Iterator的next()方法之前,迭代器的索引位于第一个元素之前,不指向任何元素,当第一次调用迭代器的next()方法后,迭代器的索引会向后移动一位,指向第一个元素并将该元素返回,当再次调用next()方法时,迭代器的索引会指向第二个元素并将该元素返回,依此类推,直到hasNext()方法返回false,表示到达了集合的末尾,终止对元素的遍历。,来获取集合的取出对象。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。原创 2022-11-08 10:17:42 · 6779 阅读 · 7 评论