自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最大孪生结点之和(王道链表第16题)

注:该题在王道书第58页的解答似乎有一些问题,运行出来只能计算两端的结果,而无法算出中间的值。(仅代表个人观点)

2024-10-07 11:13:42 115

原创 链表中是否存在环(王道链表第15题)

本次代码借用了龟兔赛跑的原理。乌龟跑的慢每次只跑一步,兔子跑的快一些每次跑两步。如果没有环的话则兔子一定先比乌龟到达终点,否则,乌龟和兔子在环中的某个位置必然相遇。单链表有环,是指单链表的最后一个结点指向了链表中的某个结点(通常单链表的最后一个结点的指针域是空的)。试编写算法判断单链表是否存在环。该视频很好的解释了在环状路线中乌龟为什么能追上兔子的思想,可供参考。如何判断链表是否有环之龟兔赛跑新解_哔哩哔哩_bilibili。

2024-10-07 09:22:19 266

原创 将元素后移k个位置(王道链表第14题)

设将n(n>1)个整数存放到不带头结点的单链表L中,设计算法将L中保存的序列循环右移动k(0<k<n)个位置。例如,若k=1,则将链表{0,1,2,3}变为{3,0,1,2}。

2024-10-06 09:16:09 193

原创 双链表之四个区域(王道链表第13题)

设有一个带头结点的非循环双链表工,其每个结点中除有 pre、data 和 next 城外,还有一个访问频度域 freq,其值均初始化为零。每当在链表中进行一次 ocate(L,x)运算时,令值为x的结点中freq域的值增1,并使此链表中的结点保持按访问频度递减的顺序排列,且最近访问的结点排在频度相同的结点之前,以便使频繁访间的结点总是靠近表头。试编写符合上述要求的Locate(L,x)函数,返回找到结点的地址,类型为指针型。这题有难度(跳过跳过)

2024-09-29 11:25:48 265

原创 循环双链表连接h1和h2(王道链表第12题)

有两个循环单链表,链表表头指针分别为h1和h2,编写一个函数将链表h2链接到链表h1之后,要求链接后的链表仍保持循环链表形式(在下文代码中作者将h1和h2分别写成了链表A和链表B以进行更好的区分)。链表A的内容:2 3 4 5 6 7。

2024-09-28 10:22:38 231

原创 判断循环双链表是否对称(王道链表第11题)

设计一个算法用于判断带头结点的循环双链表是否对称。

2024-09-27 12:25:25 154

原创 循环双链表的基本操作

插入删除。

2024-09-13 11:08:03 217

原创 双链表的基本操作

若添上此处的注释可以使得代码更加的完整。笔者在此处注释掉是为了让代码更加精炼。请告诉我你想把元素插入到什么位置:4。请告诉我你想删除的元素的序号为:5。请告诉我你想插入的元素的值为:6。请告诉我你想删除的元素为:4。请输入你想创建的元素:4。请输入你想创建的元素:5。

2024-09-12 18:38:01 326

原创 单链表之判断连续子序列(王道单链表第10题)

已经存入两个单链表中,设计一个算法,判断序列B是否是序列A的连续子序列。请输入你想插入A的第一个值(1—10000):1。请输入你想插入B的第一个值(1—10000):3。此时单链表A中的数据有: 1 2 3 4。此时单链表A中的数据有: 3 4。想插入A的下一个值:9999。想插入B的下一个值:9999。想插入A的下一个值:2。想插入A的下一个值:3。想插入A的下一个值:4。想插入B的下一个值:4。

2024-09-03 14:37:35 146

原创 单链表查找公共的值(王道单链表第8题)

设计一个算法从A和B中公共元素产生单链表C,要求不破坏A、B的结点。请输入你想插入A的第一个值(1—10000):2。请输入你想插入B的第一个值(1—10000):3。链表中的数据有: 3 7 8 9 10。链表中的数据有: 2 3 4 5 6。想插入A的下一个值:9999。想插入B的下一个值:9999。想插入B的下一个值:10。想插入A的下一个值:3。想插入A的下一个值:4。想插入A的下一个值:5。想插入A的下一个值:6。想插入B的下一个值:7。想插入B的下一个值:8。想插入B的下一个值:9。

2024-09-01 19:25:08 214 1

原创 单链表之删除重复值(王道单链表第7题)

设计算法删除重复色元素,例如{7,10,10,21,30,42,42,42,51,70}将变为{7,10,21,30,42,51,70}。此时单链表中的数据有: 7 10 10 21 30 42 42 42 51 70。输入你想插入的第一个值(1—10000):7。想插入的下一个值:9999。想插入的下一个值:10。想插入的下一个值:10。想插入的下一个值:21。想插入的下一个值:30。想插入的下一个值:42。想插入的下一个值:42。想插入的下一个值:42。想插入的下一个值:51。想插入的下一个值:70。

2024-08-31 15:50:23 266

原创 单链表删除范围内的值(王道单链表第4题)

设在一个带表头节点的单链表中,所有结点的元素值无序,试编写一个函数,删除表中所有介于给定的两个值(作为函数参数给出)之间的元素(若存在)。请输入你想插入的第一个值(1—10000):2。此时单链表中的数据有: 2 6 4 5 8。此时单链表中的数据有: 2 6 5 8。想插入的下一个值:9999。想插入的下一个值:6。想插入的下一个值:4。想插入的下一个值:5。想插入的下一个值:8。

2024-08-31 10:53:48 175

原创 单链表逆置元素(王道单链表第3题)

试编写算法将带头结点的单链表就地逆置,所谓“就地”是指辅助空间复杂度为O(1)。请输入你想插入的第一个值(1—10000):2。此时单链表中的数据有: 7 6 5 4 3 2。想插入的下一个值:9999。想插入的下一个值:3。想插入的下一个值:4。想插入的下一个值:5。想插入的下一个值:6。想插入的下一个值:7。

2024-08-30 11:32:54 140

原创 单链表删除最小值(王道单链表第2题)

试编写在带头结点的单链表L中删除一个最小值结点的高效算法(假设该结点唯一)。请输入你想插入的第一个值(1—10000):2。此时单链表中的数据有: 2 1 3 4 5。此时单链表中的数据有: 2 3 4 5。想插入的下一个值:9999。想插入的下一个值:1。想插入的下一个值:3。想插入的下一个值:4。想插入的下一个值:5。

2024-08-30 11:27:32 205

原创 单链表删除所有值为x的结点(王道单链表第1题)

在带头结点单链表L中,删除所有值为x的结点,并释放器空间,假设值为x的结点不唯一,试编写算法实现以上操作。此时单链表中的数据有: 2 3 4 5 4 6 8。请输入你想插入的第一个值(1—10000):2。此时单链表中的数据有: 2 3 5 6 8。想插入的下一个值:9999。请输入你想删除的值:4。想插入的下一个值:3。想插入的下一个值:4。想插入的下一个值:5。想插入的下一个值:4。想插入的下一个值:6。想插入的下一个值:8。

2024-08-29 14:38:22 164

原创 单链表基本操作

请输入你想插入的第一个值(1—10000):2。此时单链表中的数据有: 2 8 3 4 5 6。此时单链表中的数据有: 2 3 4 5 6。请输入你想插入的元素的序号:2。请输入你想删除的元素的序号:4。此时所查找到的结点的元素:3。请输入你想插入的元素的值:8。请输入你想删除的元素的值:4。想插入的下一个值:9999。请输入要查找的元素序号:2。按序号查找到的节点为:3。请输入你要查找的元素:3。想插入的下一个值:3。想插入的下一个值:4。想插入的下一个值:5。想插入的下一个值:6。

2024-08-28 14:58:14 195

原创 顺序表查找最小正整数(王道顺序表第13题)

【2018年统考真题】给定一个含n(n>=1)个整数的数组,请设计一个在时间上尽可能高效的算法,找出数组中未出现的最小正整数。例如:数组{-5,3,2,3}中未出现的最小正整数是1;数组中{1,2,3}中未出现的最小正整数是4。请输入5个你要放入顺序表的元素:2 1 3 6 8。顺序表里的元素有:2 1 3 6 8。顺序表里的元素有:2 1 3 6 8。请输入你要创建的顺序表的长度:5。未出现的最小正整数:4。

2024-08-20 22:08:44 130

原创 顺序表查找主元素(王道顺序表第12题)

例如,A={0,5,5,3,5,7,5,5},则5为主元素;又如A={0,5,5,3,5,1,5,7},则A中没有主元素。若存在主元素,则输出该元素;请输入10个你要放入顺序表的元素:6 6 6 6 6 7 7 7 7 7。请输入8个你要放入顺序表的元素:0 5 5 3 5 7 5 5。顺序表里的元素有:6 6 6 6 6 7 7 7 7 7。顺序表里的元素有:6 6 6 6 6 7 7 7 7 7。顺序表里的元素有:0 5 5 3 5 7 5 5。顺序表里的元素有:0 5 5 3 5 7 5 5。

2024-08-17 12:40:50 230

原创 顺序表之查找中位数(王道顺序表第11题)

题目【2011年统考真题】一个长度为L(L>=1)的升序序列S处在第个位置的数称S的中位数。例如,若序列S1=(11,13,15,17,19),则S1的中位数是15,两个序列的中位数是含他们的所有元素的升序序列的中位数。例如,若S2=(2,4,6,8,20),则S1和S2的中位数是11.现在有两个等长升序序列A和B,试设计一个在时间和空间两方面尽可能高效的算法,找出两个序列A和B的中位数。注:王道书上给的是最优解法。如果想不到,可以直接用暴力破解。本题中提到有序,想到第6题的合并序列。

2024-08-15 15:09:30 186

原创 顺序表之循环左移(王道顺序表第10题)

【2010年统考真题】设将n(n>1)个整数放到一维数组R中。设计一个在时间和空间复杂度两方面都尽可能高效的算法。将R中保存的序列循环左移p(0<p<n)个位置,即将R中的数据由(X0,X1,Xn-1)变换为(Xp,Xp+1,...,Xn-1,X1,...,Xp-1)。请输入5个你要放入顺序表的元素:1 2 3 4 5。顺序表里的元素有:1 2 3 4 5。顺序表里的元素有:3 4 5 1 2。请输入你要创建的顺序表的长度:5。请输出你想平移的格子数:2。

2024-08-14 11:15:29 176

原创 查找不同顺序表中相同的值(王道顺序表第9题)

给定三个序列A,B,C,长度均为n,且均为无重复元素的递增序列,请设计以一个时间复杂度上尽可能高效的算法,逐行输出同时存在于这三个序列中的所有元素。例如:数组A为{1,2,3},数组B为{2,3,4},数组C为{-1,0,2},则输出2。请输入3个你要放入顺序表的元素:1 2 3。请输入3个你要放入顺序表的元素:0 1 2。请输入3个你要放入顺序表的元素:2 3 4。请输入你要创建的顺序表的长度:3。请输入你要创建的顺序表的长度:3。请输入你要创建的顺序表的长度:3。顺序表里的元素有:1 2 3。

2024-08-14 11:07:11 250

原创 顺序表之查找x(王道顺序表第8题)

线性表(a1,a2,a3...,an)中元素递增有序且顺序存储于计算机内。完成用最少的时间在表中查找数值为x的元素。若找到,则将其与后继元素位置进行交换,若找不到,则将其插入表中并使其表中元素仍然有序。请输入5个你要放入顺序表的元素:1 2 3 4 5。顺序表里的元素有:1 2 3 4 5。顺序表里的元素有:1 2 4 3 5。请输入你要创建的顺序表的长度:5。

2024-08-14 10:55:17 119

原创 顺序表之合并有序表(王道顺序表第6题)

将两个有序顺序表合并为一个新的有序顺序表,并由函数返回结果顺序表。

2024-08-14 10:45:11 164

原创 顺序表删除重复值(王道顺序表第5题)

从有序表中删除所有其值重复的元素,使表中所有元素均不同。请输入6个你要放入顺序表的元素:2 3 3 4 5 6。顺序表里的元素有:2 3 3 4 5 6。顺序表里的元素有:2 3 4 5 6。请输入你要创建的顺序表的长度:6。

2024-08-13 12:47:31 193

原创 顺序表删除s~t之间的元素(王道顺序表第4题)

从顺序表中删除给定值s和t之间(包含s和t,要求s

2024-08-13 11:07:56 334

原创 顺序表删除值为x的元素(王道第3题)

对长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除顺序表中所有值为x 的元素。请输入3个你要放入顺序表的元素:1 2 3。请输入你想要删除的数字(重复/不重复):2。请输入你要创建的顺序表的长度:3。顺序表里的元素有:1 2 3。顺序表里的元素有:1 3。

2024-08-10 12:57:29 142

原创 顺序表逆置元素(王道顺序表第2题)

设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为O(1)。

2024-08-10 12:46:10 130

原创 这个方程怎么解呀

怎么用matlab解出这个方程,t是未知数。g,m,k,s是已知常量。

2023-07-21 09:11:22 113 1

原创 洛谷P1047 校门外的树

已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。某校大门外长度为 l 的马路上有一排树,每两棵相邻的树之间的间隔都是 1米。我们可以把马路看成一个数轴,马路的一端在数轴 0的位置,另一端在 l 的位置;l表示马路长度(1=<l<=10000),m(1=<m<=100)为区域数目,k1表示起始点的坐标,k2表示终止点坐标。马路的一段为数轴0的位置,另一端在l的位置。接下来 m 行,每行两个整数 u,v,表示一个区域的起始点和终止点的坐标。输入l和m,l为马路长度,m为区域数目。

2023-07-08 11:42:42 767 5

空空如也

空空如也

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

TA关注的人

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