自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【东华大学oj】单线程 CPU

同样在 time = 3 ,CPU 完成任务 0 并开始执行队列中用时最短的任务 2 ,可执行任务项 = {1}- time = 5 ,CPU 完成任务 2 并开始执行队列中用时最短的任务 3 ,可执行任务项 = {1}- time = 9 ,CPU 完成任务 4 并开始执行任务 3 ,可执行任务项 = {0,1,2}- time = 13 ,CPU 完成任务 3 并开始执行任务 2 ,可执行任务项 = {0,1}- time = 3 ,任务 2 进入任务队列,可执行任务项 = {1, 2}

2024-07-09 12:14:59 857

原创 【东华大学oj】LRU缓存

/ 该操作会使得关键字 2 作废(在关键字1和2中,2是最久未被使用的),缓存是 {1=1, 3=3}int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1。// 该操作会使得关键字 1 作废,缓存是 {4=4, 3=3}lRUCache.put(2, 2);// 缓存是 {1=1, 2=2}// 返回 -1 (未找到)// 返回 -1 (未找到)lRUCache.put(1, 1);

2024-07-09 12:14:12 378

原创 【东华大学oj】完成一半题目

主办方提供了 2*N 道题目,整型数组 questions 中每个数字对应了每道题目所涉及的知识点类型。3位选择完成知识点类型为 3 的题目,3位选择完成知识点类型为 5 的题目,因此至少包含 2 种知识点类型。可选择完成知识点类型为 2 的题目时,此时仅一种知识点类型,因此至少包含 1 种知识点类型。第一行为一个整数n代表数组questions的长度,n=2*N,N为扣友的数量。解释:共有 6 位扣友,在 12 道题目中选择题目,需要选择 6 题。解释:共有 2 位扣友,在 4 道题目中选择 2 题。

2024-07-09 12:13:32 237

原创 【东华大学oj】无人机方阵

给定两个大小均为 N*M 的二维数组 source 和 target 表示无人机方阵表演的两种颜色图案,由于无人机切换灯光颜色的耗能很大,请返回从 source 到 target 最少需要多少架无人机切换灯光颜色。将 [1,1] 处的无人机移动至 [1,0] 处,其灯光颜色切换为颜色编号为 6 的灯光;注意: 调整无人机的位置布局时无人机的位置可以随意变动。将 [0,1] 处的无人机移动至 [0,0] 处;将 [0,0] 处的无人机移动至 [0,1] 处;将 [1,0] 处的无人机移动至 [1,1] 处;

2024-07-09 12:12:29 216

原创 【东华大学oj】快速排序的应用

提示:要求重排n个元素且以顺序存储结构存储的线性表,使得所有值为负数的元素移到正数元素的前面。因此枢轴元素的值为0(不是线性表中的元素)。基本思路是,先设置好上、下界和枢轴值(0),然后执行一趟快速排序,即利用震荡交替法分别从线性表的两端查找正数和负数,找到后互相交换,直到上下界相遇。在使用顺序表ADT的基础上,试设计基于快速排序的思想把所有值为负数的元素移到全部正数值元素前边的算法:例:(x,-x,-x,x,x,-x,x)变为(-x,-x,-x,x,x,x)。第一行:排序前的顺序表遍历结果。

2024-07-09 12:11:50 109

原创 【东华大学oj】油管铺设

八口海上油井相互间距离如下表所示(样例1数据)。其中1号井离海边距离最近,为5.6海里。现计划从海岸铺设油管将各油井连接起来,如何设计才能使得油管的长度最短。(为便于检修,油管只允许在油井处分叉)。基于最小生成树思想解决实际问题。第九行:1号井距离海边的距离。第八行:起始结点序号u。第一行:油管最短长度。

2024-07-09 12:11:15 252

原创 【东华大学oj】获取AOE网的关键路径

(2)根据各个顶点的Ve和Vl值,在求得每条弧s的最早开始时间e[s]和最迟开始时间l[s]后,若某条弧满足条件e[s]=l[s],该弧所对应的活动即为关键活动。//获取AOE网各顶点事件的最早发生时间ve和最迟发生时间vl、活动ak的最早开始时间e和最迟开始时间l、一条关键路径。(3)关键路径:由关键活动所形成的从源点到汇点的每一条路径(注意:关键路径可能有多条)。(1)关键活动:开始时间余量为0的活动。<弧尾,弧头> e[k] l[k](列与列之间用格式控制符'\t'分隔)提示:在AOE网中,

2024-07-09 12:09:20 634

原创 【东华大学oj】找出从指定结点出发且长度为m的所有简单路径

4)调用FindPath函数时要指出从哪一个结点出发,而递归的FingPath函数的参数是起点的序号。如果长度已达到m,则输出这条路径,并将最后一个结点从路径上删除,返回上一层调用,检查是否还有其它的途径;第4个参数是当前路径中的结点数,当前路径的长度是结点数减1;在使用图的邻接表ADT的基础上,设计一个算法,按照深度优先搜索的思想找出从指定结点出发且长度为m的所有简单路径。1)要找的是长度为m的简单路径,因此路径上不能有相同的结点,于是定义了一个数组visited记录结点是否在路径上。

2024-07-09 12:08:29 766

原创 【东华大学oj】堆排序

第一行:顺序表A的数据元素的数据类型标记(0:int,1:double,2:char,3:string)对于顺序存储的线性表,使用vector或数组,实现堆排序算法,并输出每趟的排序结果。第三行:待排序顺序表A的数据元素(数据元素之间以空格分隔)第一行:第一趟的排序结果(数据元素之间以","分隔)第三行:第二趟的排序结果(数据元素之间以","分隔)第n行:最终的排序结果(数据元素之间以","分隔)第二行:堆类型标记(1:大根堆,2:小根堆)(2)//堆调整(最大堆)(2)//堆调整(最小堆)

2024-07-09 12:07:38 246

原创 【东华大学oj】希尔排序

第一行:顺序表A的数据元素的数据类型标记(0:int,1:double,2:char,3:string)对于顺序存储的线性表,使用vector或数组,实现希尔排序算法,并输出每趟的排序结果。第二行:待排序顺序表A的数据元素(数据元素之间以空格分隔)第二行:第一趟的排序结果(数据元素之间用","分隔)第n行:最终的排序结果(数据元素之间用","分隔)第四行:希尔排序每趟的步长(步长之间以空格分隔)(1)//希尔排序(主函数)(2)//希尔排序(一趟)第n-1行:第n趟的步长,第一行:第一趟的步长,

2024-07-09 12:06:26 153

原创 【东华大学oj】判断给定的二叉树是否是二叉排序树

在二叉树的二叉链表存储形式建立的基础上,使用递归的程序设计方法,设计并完成判断一棵给定的二叉树是否是二叉排序树的算法。//重写遍历的visit函数,将遍历结果依次存放在顺序表A中(为避免连锁改动,将函数名由visit改为visit1)(4)递归遍历,左孩子的key比根节点的key小,右孩子的key比根节点的key大,一旦有不满足条件的就判定不是。(1)若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;//判断是否是二叉排序树。

2024-07-09 12:05:51 406

原创 【东华大学oj】AVL树的判断

(3)使用任意的遍历方式对该二叉树进行遍历(测试数据使用非递归的后序遍历得到,参考个人任务12),在visit函数中计算访问的结点的平衡因子。参照个人任务13,但要稍作修改(不要通过数据元素的值,而是直接通过遍历到的结点地址来定位)。(1)若一棵二叉排序树中每个结点的左、右子树的深度之差(平衡因子)的绝对值不超过1,则称这样的二叉树为平衡二叉树(AVL树)。(4)如有结点的平衡因子的绝对值超过1,则可给出false;(如遇到结点的平衡因子不在范围内,在下一行显示false,终止)(1)判断是否是AVL树。

2024-07-09 12:05:04 464

原创 【东华大学oj】判断单链表的对称性

设带头结点的单链表的头指针为head,结点结构由data和next两个域构成,其中data域为字符型。在使用单链表ADT的基础上,设计一算法判断该链表的前n个字符是否中心对称。第一行:顺序表A的数据元素的数据类型标记(0:int,1:double,2:char,3:string)注意:单链表A中的元素个数可能小于n,也可能大于n。如果元素个数小于n,则判断整个单链表是否对称。第一行:单链表A的遍历结果(数据元素之间以"->"分隔)第三行:单链表A的数据元素(数据元素之间以空格分隔)第三行:true(对称)

2024-07-09 12:04:10 297

原创 【东华大学oj】操作系统任务调度问题

其中,系统任务的优先级 < 50,用户任务的优先级 >= 50且 <= 255。现有一任务序列task(顺序存储),任务数为n。算法scheduler实现如下功能,将task中的任务按照系统任务、用户任务依次存放到队列 system_task和 user_task中(队列中元素的值是任务在顺序表task中对应的下标),并且优先级高的任务排在前面。优先级相同的任务按照在task中的相对顺序入队排列(即task序列中在先的任务排在前面)。第一行:任务序列task中各个任务的优先级(任务优先级之间以空格分隔)

2024-07-09 12:03:07 313

原创 【东华大学oj】顺序表元素的快速删除

已知线性表A采用顺序存储结构,请设计一时间复杂度为0(n)、空间复杂度为0(1)的算法,该算法删除线性表中所有值为item的数据元素。要求:线性表元素个数n很大,而值为item的数据元素个数很少,要求移动元素个数尽量少;提示:算法参照快速排序的思想,使用两个指针,分别从左往右扫描找到需要被删除的元素、从右往左扫描找到不被删除的元素,然后交换。//删除线性表中所有值为item的数据元素,时间复杂度为0(n)、空间复杂度为0(1)第一行:顺序表A的数据元素(数据元素之间以空格分隔)第二行:待删除数据元素。

2024-07-09 12:01:58 159

原创 【东华大学oj】邻接表:有权图插入边

///构造函数构造一个无权图。edgeNode(const int &d, const TypeOfEdge &w, edgeNode *ptr = NULL) //构造函数,用于构造其他结点(带权图)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。

2024-06-25 21:36:00 631

原创 【东华大学oj】邻接表:两个顶点是否相邻

///构造函数构造一个无权图。edgeNode(const int &d, const TypeOfEdge &w, edgeNode *ptr = NULL) //构造函数,用于构造其他结点(带权图)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。

2024-06-25 21:34:52 634

原创 【东华大学oj】邻接表:构造只有顶点没有边的图

///构造函数构造一个无权图。edgeNode(const int &d, const TypeOfEdge &w, edgeNode *ptr = NULL) //构造函数,用于构造其他结点(带权图)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。

2024-06-25 21:10:55 797

原创 【东华大学oj】邻接表:添加一个顶点

///构造函数构造一个无权图。edgeNode(const int &d, const TypeOfEdge &w, edgeNode *ptr = NULL) //构造函数,用于构造其他结点(带权图)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。

2024-06-25 21:09:09 706

原创 【东华大学oj】邻接表:求指定顶点的(出)度

///构造函数构造一个无权图。edgeNode(const int &d, const TypeOfEdge &w, edgeNode *ptr = NULL) //构造函数,用于构造其他结点(带权图)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。edgeNode(const int &d, edgeNode *ptr = NULL) //构造函数,用于构造其他结点(无权图)

2024-06-25 21:01:35 830

原创 【东华大学oj】邻接表:删除一个顶点

///构造函数构造一个无权图。edgeNode(const int &d, const TypeOfEdge &w, edgeNode *ptr = NULL) //构造函数,用于构造其他结点(带权图)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。

2024-06-25 21:00:46 534

原创 【东华大学oj】图的邻接表:深度优先遍历

///构造函数构造一个无权图。edgeNode(const int &d, const TypeOfEdge &w, edgeNode *ptr = NULL) //构造函数,用于构造其他结点(带权图)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。

2024-06-25 21:00:00 888

原创 【东华大学oj】邻接表:有向图指定顶点的入度

///构造函数构造一个无权图。edgeNode(const int &d, const TypeOfEdge &w, edgeNode *ptr = NULL) //构造函数,用于构造其他结点(带权图)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。

2024-06-25 20:59:10 586

原创 【东华大学oj】图的邻接表:广度优先遍历

///构造函数构造一个无权图。edgeNode(const int &d, const TypeOfEdge &w, edgeNode *ptr = NULL) //构造函数,用于构造其他结点(带权图)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。

2024-06-25 20:55:00 564

原创 【东华大学oj】邻接表:有权图获取边的权值

///构造函数构造一个无权图。edgeNode(const int &d, const TypeOfEdge &w, edgeNode *ptr = NULL) //构造函数,用于构造其他结点(带权图)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。

2024-06-25 20:54:13 685

原创 【东华大学oj】邻接表:构造有权图

///构造函数构造一个无权图。edgeNode(const int &d, const TypeOfEdge &w, edgeNode *ptr = NULL) //构造函数,用于构造其他结点(带权图)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。

2024-06-25 20:53:27 710

原创 【东华大学oj】图的邻接矩阵:广度优先遍历

/返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。//返回G中指定顶点的位置。

2024-06-07 16:10:16 710

原创 【东华大学oj】邻接矩阵:指定顶点的位置

4个参数的含义:图的类型、结点数、结点值和邻接矩阵中表示结点间没有边的标记(无权图:0,有权图:输入参数定)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。

2024-06-03 10:06:19 415

原创 【东华大学oj】邻接矩阵:顶点u的下一个邻接点

/返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。(2)设计并实现一个算法,在已存在的图中返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。//返回G中指定顶点的位置。

2024-06-03 10:05:22 561

原创 【东华大学oj】邻接矩阵:顶点是否相邻

4个参数的含义:图的类型、结点数、结点值和邻接矩阵中表示结点间没有边的标记(无权图:0,有权图:输入参数定)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。

2024-05-30 19:48:56 976

原创 【东华大学oj】邻接矩阵:删除一个顶点

4个参数的含义:图的类型、结点数、结点值和邻接矩阵中表示结点间没有边的标记(无权图:0,有权图:输入参数定)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。

2024-05-30 19:48:07 1053

原创 【东华大学oj】邻接矩阵:构造无权图

4个参数的含义:图的类型、结点数、结点值和邻接矩阵中表示结点间没有边的标记(无权图:0,有权图:输入参数定)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。

2024-05-29 21:48:03 726

原创 【东华大学oj】图的邻接矩阵:深度优先遍历

/返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。//返回G中指定顶点的位置。

2024-05-29 21:47:05 635

原创 【东华大学oj】邻接矩阵:求指定顶点的(出)度

/返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。(2)设计并实现一个算法,在已存在的图中求指定顶点的(出)度(无向图/网:度;//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。//返回G中指定顶点的位置。

2024-05-28 19:18:07 868

原创 【东华大学oj】邻接矩阵:构造有权图

4个参数的含义:图的类型、结点数、结点值和邻接矩阵中表示结点间没有边的标记(无权图:0,有权图:输入参数定)//返回G中指定顶点u的下一个邻接顶点(相对于v)的位序(顶点集)。//返回G中指定顶点u的第一个邻接顶点的位序(顶点集)。

2024-05-27 19:40:07 1315

原创 【东华大学oj】左叶子之和

解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)然后输入n个结点的数据,需要填充为空的结点,输入null。给定二叉树的根节点 root ,返回所有左叶子之和。节点数n在 [1, 1000] 范围内。类别: DS:树->力扣。输出一个整数表示结果。

2024-05-26 11:19:28 407

原创 【东华大学oj】二叉树的右视图

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)然后输入n个结点的数据,需要填充为空的结点,输入null。二叉树的节点个数n的范围是 [0,100]输出结果,每个数据的后面跟一个空格。输入: 1 null 3。类别: DS:树->力扣。

2024-05-26 11:18:41 393

原创 【东华大学oj】最长同值路径

给定一个二叉树的 root ,输出最长的路径的长度 ,这个路径中的 每个节点具有相同值。这条路径可以经过也可以不经过根节点。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)然后输入n个结点的数据,需要填充为空的结点,输入null。树的节点数的范围是 [0, 10^4]两个节点之间的路径长度 由它们之间的边数表示。解释:三个5形成的同值路径最大,路径长度为2。解释:三个4形成的同值路径最大,路径长度为2。树的深度将不超过 1000。类别: DS:树->力扣。输出一个整数,表示结果。

2024-05-26 11:17:52 385

原创 【东华大学oj】二叉树最大宽度

给定一个二叉树,输出这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度)之间的长度。解释: 最大值出现在树的第 3 层,宽度为 4 (5,3,null,9)。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)解释: 最大值出现在树的第 3 层,宽度为 2 (5,3)。然后输入n个结点的数据,需要填充为空的结点,输入null。

2024-05-26 11:17:08 395

原创 【东华大学oj】在每个树行中找最大值

给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。首先输入结点的数目n(注意,这里的结点包括题中的null空结点)然后输入n个结点的数据,需要填充为空的结点,输入null。二叉树的节点个数的范围是 [0,10^4]输出结果,每个数据的后面跟一个空格。类别: DS:树->力扣。

2024-05-26 11:16:19 292

空空如也

空空如也

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

TA关注的人

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