自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 工具类以及程序运行入口的补充说明

【代码】工具类以及程序运行入口的补充说明。

2023-06-07 13:43:26 40 1

原创 校园导航——Floyd算法最小路径

Floyd算法求的是多源最短路径:即从任意结点出发到其它所有结点的最短路径,算法的时间复杂度为O(n3),它可以一次性求得所有结点间的最短路径,且算法思想简单,便于理解。所以我们这一项目采用Floyd算法来求解最短路径。本题即指定任意两个赛事点,通过 Floyd 算法查找出最短距离,并打印出对应路线相关功能的实现。本篇内容为6月5日所学,因疏忽未上传至博客,见谅。

2023-06-07 13:41:44 154 1

原创 校园导航——打印赛事点和哈密尔顿循环路线

对于哈密尔顿路径的实现,我们可以在 TourPathServiceImpl 业务接口实现类中进行实现,该类应该包含一个 MGraph graph 属性作为赛事点图,同时包含一个 int[] path 属性存储哈密尔顿路径上对应的顶点编号,其实就是对应的赛事点元素下标,数组大小就是赛事点的个数。(2)能够在指定赛事点查询对应的哈密尔顿循环路线,即从当前源点出发,经过且仅经过一次所有的赛事点,并将该路线打印出来,可以通过马踏棋盘算法实现;(1)能够打印所有的赛事点,包括对每个赛事点的简单介绍;

2023-06-07 13:39:22 61 1

原创 设计一个决赛叫号系统

对于决赛叫号系统的模拟我们可以创建一个房间类 FinalRoom,该类包含两个属性 roomName(决赛室名称)和 teamList(对应决赛室的参赛队伍)。然后通过多线程技术,实现 Runnable 接口的 run() 方法,在方法体中编写处理逻辑。直接遍历该赛事的所有队伍,每个参赛队伍睡眠 0.5 秒,模拟参赛时间即可。队伍每个决赛时对应的参赛队伍,我们可以效仿前面参赛队伍容器的思路,使用静态代码块,在类加载时自动执行将对应的队伍分别加到指定的决赛室即可。

2023-06-07 13:31:54 98 1

原创 按参赛学校查询参赛团队

根据学校名称(或者赛事类别)查找对应的团队信息可以使用归并排序(Merge Sort)进行处理,因为归并排序对于大的数据集来说非常高效,时间复杂度为O(n log n),并且它是稳定的排序算法,这意味着相同的元素在排序后会保持原有的顺序。它的基本思路是将待排序的序列划分为若干个子序列,使得每个子序列的长度尽可能相等,然后对每个子序列进行排序,最后将排序后的子序列合并为最终的排序序列。可见,尽管归并排序需要额外的空间来存储临时数组,但是其稳定的排序性能使得它在许多场景下都是非常实用的排序算法。

2023-06-07 13:31:06 90 1

原创 实现基于二叉排序树的查找

根据队伍编号查找信息我们使用了二叉搜索树(Binary Search Tree, BST)通过队伍编号来进行查询优化,二叉搜索树是一种特殊的二叉树,它的左子树的键值小于根节点的键值,右子树的键值大于根节点的键值。(2)如果根节点已经存在,则判断待插入节点的队伍编号是否小于当前节点的队伍编号,如果小于则插入到左子节点,否则插入到右子节点,根据该思路进行递归调用即可。(2)判断当前节点的队伍编号是否等于待查找的队伍编号,如果相等直接返回 1,代表此次查找深度为 1,即根节点就是需要查找的队伍;

2023-06-07 13:22:10 114 1

原创 CRUD 操作

修改操作思路与新增操作思路一致,接收到用户输入的对象信息后,先通过二分查找是否已经存在该元素,如果存在则进行更新操作,否则打印错误信息。增加操作实现逻辑比较简单,将用户输入的数据封装成 Team 对象后查询该元素是否已经存在集合容器中(这里直接使用了。首先展示本项目目录(5月29日时并未如此完善,此处展示的是6月5日全部完成后的目录,仅作为本篇内容的辅助理解)由于我们打印队伍信息时多新增了“序号”一列直接代表该元素的索引,故删除操作直接根据用户输入的索引进行删除即可。否则,就进行正常的添加操作即可。

2023-06-07 13:17:36 80 1

原创 数据加载——模拟数据库作用创建一个容器

BST,而且你是按顺序插入元素,那么结果会是一个极不平衡的BST,也称为"退化树",它的形状更像一个链表而不是一个树。理想情况下,BST应该是"平衡"的,也就是说,任何节点的左子树和右子树的高度差不超过1。集合的元素进行了基于队伍编号从小到的的升序排序,其目的是便于后面进行增删改查时,直接通过索引进行操作即可,而不用遍历集合,从而提升效率。完成数据的简单分析,接下来我们可以选择一个合适的容器进行数据的存储,这里可以选择 List 集合进行存储,具体选择该集合的实现类 ArrayList。

2023-06-07 12:11:52 97 1

原创 数构课设——基本设计(1)

问题3:查询特定学校或赛事类别的队伍 你可以在TeamTree类中实现一个搜索方法,输入是学校名称或赛事类别,输出是一个Team对象的列表。二叉排序树是一种特殊的二叉树,其中每个节点的左子节点的值小于父节点,右子节点的值大于父节点。例如,使用setter和getter方法来修改和获取类中的信息,使用一个构造器方法来添加新的队伍信息。// 从文件中加载队伍信息,构建二叉排序树。// 在二叉排序树中查找特定编号的队伍信息。// 使用快速排序对队伍信息进行排序。// 将队伍信息插入二叉排序树。

2023-05-23 09:04:28 56

原创 数构课设——简易设计概述

Team:参赛队类,包含队伍编号、作品名称、参赛学校、赛事类别、参赛者和指导老师等属性,以及对应的 getter 和 setter 方法。FileManager:文件管理类,负责从文件中读取参赛队信息,以及将参赛队信息存储到文件中。首先,我们需要分析题目的要求,明确需要实现的功能。TeamManager:参赛队管理类,负责对参赛队进行增加、删除、修改等操作。从文件中读取参赛队伍的基本信息,实现基于二叉排序树的查找;根据用户选择的操作,调用相应的类和方法进行操作;管理参赛队的基本信息;

2023-05-23 09:01:41 333 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除