自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQl学习笔记

数据库笔记

2023-09-24 19:13:36 77

原创 2. 套圈

Quoit是一种向一些玩具投掷扁平圆环的游戏,所有被包围的玩具都会获得奖励。在Cyberground领域,每个玩具的位置都是固定的,圆环经过精心设计,一次只能包围一个玩具。给定一个场的配置,你应该找到这样一个环的半径。如果一个点和环的中心之间的距离严格小于环的半径,则该点被环包围。接下来是N行,每行包含一对(x,y),它们是玩具的坐标(可以是十进制)。分治法就不说了,这次尝试了一下非分治算法,据说时间复杂度和分治法一样,但是不知为什么死在第二个测试用例上了,先把错误的代码交上来嘿嘿。

2023-12-21 15:45:34 842

原创 1. 油井问题

主油管道为东西向,确定主油管道的南北位置,使南北向油井喷油管道和最小。要求线性时间完成。1

2023-12-21 13:16:29 451

原创 1. 小游戏(贪心)

现在面临如下问题:他必须在一个中世纪的城堡里设防,城堡里的道路形成一棵无向树。要在结点上安排最少的士兵使得他们可以看到所有边。接下来的几行,每行按如下格式描述一个结点:结点标识符 : ( 道路的数目 ) 结点标识符1 结点标识符2 ...... 结点标识符道路的数目。对于 n (0<n<=1500) 个结点,结点标识符是一个从 0 到 n - 1 的整数。这里和小学期的知识对应起来了。对于每组数据,各给出一个整数表示士兵的最少数目。你的任务是给出士兵的最少数目。第一行是结点的数目。

2023-12-05 11:34:09 901

原创 2. 活动调度(贪心)

接下来 N 行为 Si 和 Fi(0<=Si<Fi<=2 000 000 000) ,分别代表第 i 个活动的开始时间和结束时间。活动 i 的区间段为 [Si,Fi)假设要用很多个教室对一组活动进行调度。我们希望使用尽可能少的教室来调度所有的活动。第一行为活动的个数 N(1<=N<=1 000 000)。输出有一行 M ,为所需教室的最小数量。

2023-12-05 09:47:30 128

原创 4.求解无向图的各连通分支

输出每个连通分支的广度优先搜索序列(从连通分支的最小编号开始),不同分支以最小编号递增顺序列出。第一行为图的节点数n(节点编号0至n-1,0<n<=10)从第二行开始列出图的边,-1表示输入结束。

2023-11-30 17:08:01 114

原创 2.计算工程完成的关键路径

通过拓扑排序求出事件最早发生时间,反向推导求出事件最晚发生时间,通过事件最早发生时间求出活动最早发生时间,活动最早发生时间等于 from(箭头开始方向的事件最早发生时间),通过活动最早发生时间求出活动最晚发生时间,活动最晚发生时间等于 to - weight(箭头结束方向的事件发生时间 - 权重),通过(活动最晚发生时间-活动最早发生时间)求出关键路径。对有向图,每个顶点被指向的箭头个数,就是它的入度,从这个顶点指出去的箭头个数,就是它的出度。将入度为0的点弹出,并更新还在其后各点的入度,重复操作。

2023-11-30 16:31:59 157

原创 3. 迷宫问题

一.题干迷宫有一个入口,一个出口。一个人从入口走进迷宫,目标是找到出口。阴影部分和迷宫的外框为墙,每一步走一格,每格有四个可走的方向,探索顺序为地图方向:南(下)、东(右)、北(上)、西(左)。输入:输入迷宫数组。第一行数据表示一个 n*n (n

2023-11-28 14:53:33 189

原创 1. 图的广度优先遍历

2023-11-27 00:56:08 152

原创 JavaFX作业

在写这个作业之前,尝试在JavaFX中添加全局快捷键,测试了大概5个小时,到处找教程换版本,结果最后还是没找到支持Java8以上的(也有可能是我自己的问题),最后只能退而求其次,用jintellitype这个库来在原生swing里面添加了全局快捷键,算是圆了我对SAO Utils的一个执念吧,虽然实际上相差甚远。

2023-11-04 20:36:26 641

原创 快速排序()

要求根据给定输入,按照课堂给定的快速排序算法进行排序,输出排序结果和median3的返回值。注:1,cutoff值为5,不足cutoff使用插入排序。2,输入、输出格式参见测试用例0。

2023-10-31 12:56:07 92

原创 堆排序()

实验要求:用堆排序算法按关键字递减的顺序排序。程序输入:待排序记录数(整数)和待排序记录(整数序列);程序输出:建堆结果和建堆后第一、第二次筛选结果。(注:待排序记录数大于等于3)

2023-10-31 12:41:51 97

原创 折半查找()

折半查找的查找过程:先确定待查记录所在的范围(区间),然后逐步缩小范围直到找到或找不到该记录为止。每条待查记录包含关键字项和其他项,如关键字项为15,其他项为该记录在查找表里的原序号4。对无序表的查找,还需要事先排列成有序表,再进行折半查找。输入:5 (记录的条数)各记录项:如 32 1输出:已按关键字排列好的非递减序列:如 (16 2)(20 5)(32 1)(35 3)(91 4)找不到时输出: error。

2023-10-31 10:22:35 95

原创 博弈树 (15分)

棋属于一种博弈游戏,博弈过程可以用树(博弈树)来表示。假设游戏由两个人( A 和 B )玩,开始由某个人从根结点开始走,两个人轮流走棋,每次只能走一步, 下一步棋只能选择当前结点的孩子结点,谁先走到叶子结点为胜。例如,对于下图所示的博弈树,若 A 先走,可以选 f , B 若选 h ,则 A 选 j 胜。

2023-10-26 01:34:32 397

原创 计算WPL

Huffman编码是通信系统中常用的一种不等长编码,它的特点是:能够使编码之后的电文长度最短。更多关于Huffman编码的内容参考教材第十章。第一行为要编码的符号数量n第二行~第n+1行为每个符号出现的频率对应哈夫曼树的带权路径长度WPL。

2023-10-25 15:06:47 183

原创 前缀码判定

请编写一个程序,判断输入的n个由1和0组成的编码是否为前缀码。如果这n个编码是前缀码,则输出"YES”;否则输出第一个与前面编码发生矛盾的编码。比较简单注释就只写了下思路,其实就是哈夫曼树,以后应该要学。也有可能是我上课睡觉听漏了,说不定已经教了。前缀码:任何一个字符的编码都不是同一字符集中另一个字符的编码的前缀。每一个字符均不是其他字符编码的前缀,所以,输出:YES。编码11与前面的编码110的前缀,所以,输出:11。第2~n+1行为n个由0或1组成的编码。第1行为n(表示下面有n行编码)

2023-10-24 18:54:07 882

原创 平衡二叉树

程序输入一个字符串(只包含小写字母),请按照字符的输入顺序建立平衡二叉排序树,并分别输出二叉树的先序序列、中序序列和后序序列,最后输出该二叉树向左旋转 90 度后的结构。例如:向左旋转 90 度后,以每层向里缩进 4 个空格的方式输出,输出结果为:igfadcb输出:Tree:zyxnmkiga。

2023-10-19 21:49:36 121

原创 排序二叉树

建立并中序遍历一个排序二叉树排序二叉树是指左子树的所有节点的值均小于它根节点的值,右子树的所有节点的值均大于它根节点的值,如下图是一棵排序二叉树输入:输入有一行,表示若干个要排序的数,输入0时停止输出二叉树的凹入表示和二叉树的中序遍历序列sample:input:output:12223435565767777889。

2023-10-19 19:52:00 54

原创 二叉树遍历序列还原

给出二叉树的中序遍历序列和后序遍历序列,编程还原该二叉树。第1行为二叉树的中序遍历序列第2行为二叉树的后序遍历序列二叉树的按层遍历序列。

2023-10-13 19:53:30 72

原创 二叉树的建立与基本操作

编写程序实现二叉树的如下操作:1) 建立二叉链表2) 二叉树的先序、中序、后序遍历3) 求二叉树的叶子结点个数4) 将二叉树中所有结点的左、右子树相互交换按完全二叉树的层次关系给出二叉树的遍历序列(#表示虚结点,数据结点为单一字符)。二叉树的凹入表示二叉树的先序序列、中序序列、后序序列二叉树叶子结点个数左、右子树相互交换后的二叉树的凹入表示左、右子树相互交换后的二叉树的先序序列、中序序列、后序序列。

2023-10-13 12:29:06 327

原创 树的建立与基本操作

程序的输入是一个表示树结构的广义表。假设树的根为 root ,其子树森林 F = ( T1 , T2 , …, Tn ),设与该树对应的广义表为 L ,则 L =(原子,子表 1 ,子表 2 , …,子表 n ),其中原子对应 root ,子表 i ( 1

2023-10-12 20:00:20 58

原创 (IntelliJ IDEA)基于JavaFX的简易四则运算器开发2.0(修复了一些bug,分成了两个文件方便维护)

(其实这个应该不算bug,只是没写显示的内容,导致文本框内容不变,我记得是这样的,控制台那边是有显示的,异常处理是写了的)。1.JavaFX的按钮创建改成了用二维数组循环创建,其实这应该不算是优化,毕竟复杂一点性能就会差,好在计算器比较简单,用二维数组创建还更为直观,我觉得。1. 括号隔开两数输出后为一个数,例如:4()5=5,或者一个数后跟括号,括号内为数字或表达式,输出为括号内值,例如:4(5-7)=-2。文件包含计算器的逻辑和按钮事件处理的方法。r文件包含主应用程序和界面的创建逻辑。

2023-10-09 21:46:38 186 2

原创 (IntelliJ IDEA)基于JavaFX的简易四则运算器开发

第一次用Java写,好多东西都是边写边学的,所以写了很多备注(其实也不多,主要还是因为要发CSDN之类的所以后面加了一些)。没写过这种程序,估计有不规范的地方,可能还有bug之类的。

2023-10-09 01:11:00 777

原创 股票撮合系统

在股票交易中,股民可以通过各种手段将委托送到股票交易所。每个委托主要说明了股民身份、买卖的股票、价格和数量。交易的规则是价格优先、时间优先,即出的价格最高的人先买,出的价格最低的人先卖。两个委托只有价格合适时才能成交,未成交的委托按价格顺序放在撮合队列中。每个股票有两个撮合队列:买队列和卖队列。只有当买委托的价格高于等于卖委托的价格,两个委托才可以成交,成交价取两个委托价格的平均值,成交量取两个委托数量的最小值。委托可以是完全成交或部分成交,部分成交的委托保留在撮合队列中继续交易。

2023-10-07 18:27:08 416

原创 从中缀向后缀转换表达式

中缀表达式就是我们通常所书写的数学表达式,后缀表达式也称为逆波兰表达式,在编译程序对我们书写的程序中的表达式进行语法检查时,往往就可以通过逆波兰表达式进行。我们所要设计并实现的程序就是将中缀表示的算术表达式转换成后缀表示,例如,将中缀表达式(A 一 (B*C 十 D)*E) / (F 十 G )转换为后缀表示为:ABC*D十E*--FG十/为了简化编程实现,假定变量名均为单个字母,运算符只有+,-,*,/ 和^(指数运算),可以处理圆括号(),并假定输入的算术表达式正确。

2023-10-07 14:49:29 107 1

原创 表达式求值

我们的教材中已经介绍了表达式求值的算法,现在我们将该算法的功能进行扩展,要求可以处理的运算符包括:+、-、*、/、%(整数取余)、^(乘方)、(、)。在表达式中,如果操作数出现负数(例如-8),则要特别注意。如果在计算过程中出现除数为0的情况,则输出:Divide 0.采用算符优先算法,计算的中间结果只保留整数。从第二行起的后面N行为N个由整数构成的表达式。如果判断出表达式有错误,则输出:error.共N行,每行为相应表达式的计算结果。10加-8表示为:10+-8。10减-8表示为:10--8。

2023-10-07 14:46:21 240

原创 出栈序列()

1.求解规定序列能否由入栈出栈操作得到输入:有若干组数据输入每组数据中,第一行为两个个整数 n 和 m。n 表示需要依次从 1~n 入栈,m 表示这组数据有 m 个出栈序列需要判断,当 n=0 且 m=0 时停止。接下来有行,每行表示一个出栈序列输出:对每一个出栈序列,如果能正常出栈,输出Yes,否则输出 No。

2023-10-06 17:22:54 162

原创 括号匹配()

假设一个算术表达式中包含圆括号、方括号两种类型的括号,试编写一个判断表达式中括号是否匹配的程序,匹配返回Match succeed!,否则返回Match false!。例[1+2*(3+4*(5+6))]括号匹配(1+2)*(1+2*[(1+2)+3)括号不匹配。

2023-10-06 16:20:42 91

原创 一元多项式相乘

要求采用链表形式,求两个一元多项式的乘积:h3 = h1*h2。函数原型为:void multiplication( NODE * h1, NODE * h2, NODE * h3 )。每个一元多项式以指数递增的顺序输入多项式各项的系数(整数)、指数(整数)。以指数递增的顺序输出乘积: ,,,例如:1+2x+x2表示为:,,,说明:本题目有预设代码,只要提交你编写的函数即可。零多项式的输出格式为:,

2023-09-28 21:10:28 49

原创 一元多项式相加

(提示:调用AddPolyn(polynomial &Pa, polynomial Pb), 调用PrintPolyn(polynomial P))。编写一元多项式加法运算程序。输出:显示三个输入多项式Pa、Pb、Pc、和多项式Pa+Pb、多项式Pa+Pb+Pc。多项式A包含的项数,以指数递增的顺序输入多项式A各项的系数(整数)、指数(整数)多项式B包含的项数,以指数递增的顺序输入多项式B各项的系数(整数)、指数(整数)多项式C包含的项数,以指数递增的顺序输入多项式C各项的系数(整数)、指数(整数)

2023-09-28 21:07:31 36

原创 孤独的运货员

卸货的过程是:首先查看最外面的箱子是否标记着 X 标签,如果是,代表这是运送到 X 国的货物,则放到 A 平台上,如果不是,则把该货箱放到B平台货物队列的末尾,然后处理下一箱货。move函数,接收一个数组和一个数字作为参数,将数组中的元素向前移动一位,最后返回新的元素数量,主要为了调整次序。每天,货车和货运飞机都这样周而复始的运行着,直到有一天因为报酬的原因,分理中心的工人开始罢工。航空公司的货运飞机往返于各个国家和货物分理中心之间,分理中心的货物运送到各个国家,再将各个国家发出的货物送到分理中心。

2023-09-26 20:11:23 56

原创 综教楼后的那个坑

每个平面 i 可以用两个数字来描述,即它的宽度 Wi 和高度 Hi,其中 1 ≤ Wi ≤ 1,000、1 ≤ Hi ≤ 1,000,000,而这个坑最特别的地方在于坑底每个平面的高度都是不同的。每到夏天,雨水会把坑填满,而在其它的季节,则需要通过人工灌水的方式把坑填满。随着水位的增长,水自然会向其它平面扩散,当水将某平面覆盖且水高达到一个单位时,就认为该平面被水覆盖了。在 LIT 综教楼后有一个深坑,关于这个坑的来历,有很多种不同的说法。*    ********* 4

2023-09-26 15:00:35 53

原创 (BIT小学期)(25-30)

小徐酷爱打篮球,在小学期的前两周半都在练习篮球。今天,小徐想要练习如何突破。练习场地可由如下所示的网格图表示,图中的位置可用坐标表示。其中A点(0,0)为小徐的起始位置,B点(n,m)为小徐想要到达的位置。一起训练的还有场上的防守队员小彩,其位于C点。已知小徐行动时只能向右或向下前进,且当小徐相对于小彩的位置为Pi(i = 1,2…8)时,小徐会被抢断(现在要求你计算小徐从A点到达B点且不被抢断的路径条数。假设小彩的位置是固定不动的,并不是小徐走一步小彩走一步。

2023-09-24 19:35:11 129

原创 (BIT小学期)(21-25)

小张非常喜欢与朋友们玩成语接龙的游戏,但是作为“文化沙漠”的小张,成语的储备量有些不足。现在他的大脑中存储了个成语,成语中的四个汉字都用一个1000000以内的正整数来表示。现在小张的同学为了考验他给出了他一个成语做开头和一个成语做结尾,如果小张能通过成语接龙的方式说到结尾的成语,他就能够成功完成游戏。他想知道最少能说几个成语能够成功完成游戏。

2023-09-21 10:24:15 68

原创 双向约瑟夫问题

约瑟夫问题是一个经典的问题,我们不妨将这个经典问题进行扩展,变成一个双向的约瑟夫问题。已知 n 个人(不妨分别以编号 1,2,3,...,n 代表 )围坐在一张圆桌周围,首先从编号为 k 的人从 1 开始顺时针报数,1, 2, 3, ...,记下顺时针数到 m 的那个人,同时从编号为 k 的人开始逆时针报数,1, 2, 3, ...,数到 m 后,两个人同时出列。然后从出列的下一个人又从 1 开始继续进行双向报数,数到 m 的那两个人同时出列,...;。依此重复下去,直到圆桌周围的人全部出列。

2023-09-20 22:16:49 72

原创 基本操作(集合合并)

我们讨论一个如何使用基本运算将两个集合合并的问题。下面,是采用基本操作完成集合合并的操作。问题: 线性表的合并A=A∪B设:有两个集合A和B分别用两个线性表LA和LB表示。求一个新的集合 A=A∪B。输入:两个集合输出:按照要求合并后的集合。编程要求:题目中已经给出了主函数和部分已经实现的基本操作,请阅读给出的程序,编写其他尚未完成的基本操作(基本操作的定义请参见严蔚敏老师的教材)。注意:提交代码的时候,仅需提交你编写的那三个基本操作函数即可。预设代码前置代码。

2023-09-20 22:13:57 92

原创 求循环小数

对于任意的真分数 N/M ( 0 < N< M ),均可以求出对应的小数。如果采用链表表示各个小数,对于循环节采用循环链表表示,则所有分数均可以表示为如下链表形式。N M转换后的小数(不超过 50 )仅编写将分数转换为小数的函数 change( int n, int m, NODE * head )。

2023-09-20 22:11:20 262 1

原创 验证表(BIT)

本实验编写具有如下功能的程序:输入两个学生记录表LIST1,LIST2,在表LIST2中找出所有没有在表LIST1中出现的学生记录(设表LIST1为基础数据表,非空)。如果学生记录表LIST2中的存在学号,姓名不能与表LIST1完全匹配的记录,则输出 学号(%8d)姓名(%15s)is not in LIST1.如果学生记录表LIST2中的记录都包含在LIST1中,则输出the records of LIST2 are all in the LIST1.

2023-09-20 22:09:40 54 1

原创 (BIT小学期)(16-20)

一个一个写着太麻烦了,每天有限量,整合到一起写了。

2023-09-20 22:06:27 75 1

原创 15.卡牌游戏

小张在玩一种卡牌游戏,牌组由2n张牌组成,其中n张上写有数字1..n各一张,其余n张上全部是数字0.现在牌组经过随机打乱后,小张拿走其中n张牌作为手牌,其余n张牌作为牌堆。每一次操作,小张选择任意一张手牌放到牌堆底,并将牌堆顶的牌放入手牌。第三行n个数,表示牌堆,数组从左向右的顺序表示牌堆自顶向下的顺序。他想知道最少进行几次操作,使得牌堆自顶向下的牌依次为1..n.小张想经过若干次如下操作使得牌堆自顶向下的牌依次为1..n.第二行n个数,表示小张手中的牌。一个整数,表示最少执行的操作数。

2023-09-20 21:06:00 74 1

空空如也

空空如也

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

TA关注的人

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