- 博客(35)
- 收藏
- 关注
原创 7-31 笛卡尔树
注意点:1、二叉搜索树不能通过递归判断,这样只能判断子树是二叉搜索树,不一定整棵树是,应该通过中序遍历判断是否是递增序列。2、注意最小堆的判断,先判断左右子树(如果不为空),再递归。
2023-11-28 16:39:46
425
原创 P1347 排序
1、如果同时有两个度为0的点入队,则条件不足,因为无法确定这两个同时入队的大小关系。3、同时条件矛盾和不足时要输出条件矛盾。2、入队数小于总数,条件矛盾。4、每输入一次判断一次。
2023-10-21 10:01:30
45
原创 厦门大学数据结构实验3.4 【模板】KMP字符串匹配
2、重新开始搜索不要用递归,也不要移动i,直接j=next[j]1、数组要开到1e-6,不然会段错误。
2023-10-19 23:49:18
154
原创 P1807 最长路
1、所以点 1 绝对是一个没有入度的点,而且不会出现环。但是,题目并不保证只有点 11 是没有入度的。他们本身是无法到达的点,所以根本不可能会延伸到其他地方,如果加入队列,那么就会导致个别点,甚至所有点的答案错误。如果不管,那么他们延伸出来的点的入度永远大于 0,因为还有那些点。那么解决方法就是先做一遍 for 循环,找到那些点,再把延伸出来的点的入度 −1,如果这些点入读 −1后又变成了入度为 0的点,那么再做同样的处理。3、读取是注意有可能同一个边有多种权值,要把大的权值输入。
2023-10-18 19:25:06
46
原创 厦门大学数据结构实验2.3 求解迷宫从入口到出口的路径
题目要求先向右、向下、向左、向上的顺序,以及在无法走到终点时输出NO。用flag标记,如果走到flag=1;可以创建数组dx,和dy来进行向上、下、左,右减少代码量。入栈的时机是dfs的开头。
2023-10-10 20:40:43
347
原创 P2058 [NOIP2016 普及组] 海港
1、不是 if(Q[rear].t-Q[front].t>=86400),而是while(Q[rear].t-Q[front].t>=86400)2、while(Q[rear].t-Q[front].t>=86400)的处理应该在读入新数据的前面。因为有可能存在多个值使区间太宽了。
2023-10-08 21:53:15
79
原创 约瑟夫环中的map使用:P1996 约瑟夫问题
要先把it++的位置求出来,再把it2(即原本的it释放掉)2、在把数踢出队列时注意it的处理。1、在循环中注意构造循环的圈。
2023-10-08 20:02:47
80
原创 mooc厦门大学编程实训题集5-1 稀疏矩阵加法
注意事项:注意两个矩阵元素相加抵消的时候也要写index1++,index2++;给定两个矩阵A和B,求其和矩阵C=A+B。
2023-10-06 21:19:29
136
原创 mooc 数据结构与算法题目集7-20 表达式转换&&7-21 求前缀表达式的值
1、注意数字前面有+,-,‘.’要特殊处理。的情况,以及同时有小数点和+的情况。
2023-09-30 20:36:06
82
原创 厦门大学数据结构编程实训题集彩虹瓶PTA
3、在新输入一个数字符合条件之后,index++之后,要判断栈顶的元素是否符合条件,此时要用while而不是if。1、每一次新输入一行都要更新flag,S->top,index。2、栈满的判断是
2023-09-30 11:22:44
223
原创 PTA数据结构与算法题目集7-2 一元多项式的乘法与加法运算
1、注意上下限是多少,我才用的是把全体的指数加1005,此时如果是1000^1000与1000^1000相乘那么上限应该是4010。
2023-09-27 13:30:16
67
1
原创 P3375 【模板】KMP 字符串匹配
4、注意调用index_kmp函数时pos的位置是i-length2+1(即输出的那个数+1,如果下标从0开始就是输出的那个数)3、注意字符串的下标应该从1开始。求next数组时i=1,j=0。1、自己应该要造的测试用例。
2023-09-27 10:46:50
80
1
原创 洛谷P1241 括号序列
2、扫描到左括号入栈(右括号不需要入栈),扫描到右括号与栈顶元素匹配,1、栈存的是下标,这样好标记匹配到的左括号的位置。
2023-09-18 13:27:30
123
原创 (厦门大学数据结构编程实训题集)2-1 最长连续递增子序列错误的点&&2-3 两个有序链表序列的交集错误的点
1、忽略最长递增序列在最后一位,即循环退出后要再考虑一次cnt>max,更新form和last2、last初始值的错误:忽略当只有最长长度为1时last值应该是1,所以初始值last赋为1给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。
2023-09-14 18:21:03
161
1
原创 03-树3 Tree Traversals Again
这道题的重点和难点是计算左子树的长度,右子树的长度以及post插入的位置计算这一次我前两者做对了,但是Post插入位置的计算在遍历右子树时把postpos=l1+l2是错的要写成postpos-1附题面push(2);push(3);pop();pop();push(4);pop();pop();push(5);push(6);pop();Figure 1。
2023-09-10 14:45:28
128
1
原创 03-树1 树的同构编程注意事项
要把root1和root2初始化为-1,以及在判断时注意传入参数root1和root2同为-1的情况以及left同为-1,right同为-1给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。现给定两棵树,请你判断它们是否是同构的。
2023-09-10 14:42:04
111
1
原创 哈希表——分离链接法代码书写注意点
2、注意H->TableSize怎么定,在11-散列1 电话聊天狂人中题目输入2n的电话,所以Create函数里用的是2n。3、注意H->Heads[i].Next用的是“.”,而Position p用的是->1、Create函数中要注意malloc H->Heads的空间。代码如上,需要注意的。
2023-09-02 14:02:30
46
原创 11-散列2 Hashing(卡在测试点1和3)
2、判断break的条件是CNum>TableSize。这样的话当CNum=TableSize时。1、当msize=1是对应的素数是2。
2023-08-31 10:53:27
52
原创 ERROR:Process exited after 2.687 seconds with return value 3221226356
检查后发现是H->Heads=(List)malloc(sizeof(struct TblNode)*(H->TableSize));应该改成H->Heads=(List)malloc(sizeof(struct VNode)*(H->TableSize));常见的错误可能是malloc错误或者L本身是空指针但是访问L->Next。原代码如下,一直发现不到问题。
2023-08-30 16:44:08
2414
1
原创 C语言[Error] expected ‘,‘ or ‘...‘ before ‘new‘
C语言中new是关键字,所以不能以new为变量名。
2023-08-30 13:54:41
703
1
原创 最近写“图”的代码经常犯的错误
用邻接表存储图时用到BuildGraph函数记得要返回MGraph,否则编译时不会犯错,但是运行窗口会显示越界。
2023-08-29 15:47:02
43
1
原创 Mooc06-图3 六度空间
如图所示,刚开始last=1,V=1,进入for循环之后满足last==v,则把last更新成第一层(红色一圈)的最后一个即为7,同时level++。后面while循环继续运行,v不断更新=2,3,4,5,6,7当v=7时满足last==v再次更新last,level++if(v==last) //如果出队的这个元素等于我们设置的last。//last指向上一层的最后一个元素。不太明白以下这部分是怎么运行的,回去看了mooc的讲解终于懂啦。
2023-08-25 21:27:03
41
1
原创 06-图1 列出连通集 图的存储&深度优先搜索&广度优先搜索
这道题考察了图的存储&深度优先搜索&广度优先搜索三个知识点。注意在广度有限搜索中在开头要使visit[index]=1。
2023-08-25 16:20:03
33
1
原创 二叉搜索树代码细节注意
1、注意此处要让BST->Left=Insert(BST->Left,X);而不是只写一个Insert(BST->Left,X);/* 先序遍历,由裁判实现,细节不表 *//* 中序遍历,由裁判实现,细节不表 */5、最后为了模拟函数块运行,自己写了前中序的函数,结果忘记判断if(BT)(别管了,真的笨的很)3、在delete中当找到X所在位置后若左右子树都不为空的处理,注意是要找到右子树的最小值,将数值赋给BST->Data,并且删除最小值时是要让BST->/* 你的代码将被嵌在这里 */
2023-08-25 09:04:20
34
1
原创 C语言之报错([Error] no matching function for call to ‘Heapnode::He)
发现是typedef Heapnode 时Heap少写了*,在Heap前多加一个*即可。
2023-08-24 13:45:45
198
1
空空如也
PAT Judge 1和4测试点一直过不了.求解答
2023-08-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人