创建一个链式队列实现入队和出队的操作,链式队列相比于循环队列而言,其不用判断队列是否为满,只要堆内存够,我就可以向内存申请空间。 /*************************************************************************** *functio ...
图上的遍历算法 广度优先搜索 BFS 概念 广度优先搜索(Breadth-First Search)是一种图遍历算法,用于在图或树中按层次逐层访问节点。它从源节点(起始节点)开始,首先访问源节点的所有直接邻接节点,然后依次访问距离源节点较远的节点,直到遍历完整个图或到达目标节点 BFS通过队列逐层扩 ...
创建一个循环队列,实现入队出队功能,队列只能一端进行入队,另一端进行出队,先进先出的规则。 /*************************************************************************** *function:创建一个循环队列,实现入队出队的功 ...
比赛链接 本文发布于博客园,会跟随补题进度实时更新,若您在其他平台阅读到此文,请前往博客园获取更好的阅读体验。 跳转链接:https://www.cnblogs.com/TianTianChaoFangDe/p/18809665 开题 + 补题情况 这场被自己唐到了,有点着急了,没能冷静下来思考,导 ...
通过键盘输入一个包括 '(' 和 ')' 的字符串string ,判断字符串是否有效。要求设计算法实现检查字符串是否有效,有效的字符串需满足以下条件: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 /****************** ...
模拟退火 (Generated by deepseek-r1) 模拟退火算法是一种基于物理退火过程的启发式优化算法,其核心思想是通过概率性接受次优解来跳出局部最优,逐步逼近全局最优解。以下是其核心流程的简要讲解: 初始化参数 初始温度 $ T_0 $:设置较高温度(如 $ 10^5 $ ),确保算法 ...
使用链式栈将一个十进制数转换成十六进制数 /*************************************************************************** *function:创建一个链栈,实现把一个十进制数转换成十六进制数 *author:jindouliu ...
使用单向链表的方式,实现一个链式栈,对链式栈实现入栈和出栈的操作,使用链式表的方式可以方便地实现入栈和出栈操作,不受限与第一次申请的空间大小,想要入栈的话,直接向堆空间申请一块内存用来存储该元素的结构体就可以了。 /****************************************** ...
申请一块堆空间用于存储顺序栈的元素,实现顺序栈的入栈和出栈操作,使用顺序栈的优点是内存的利用率大栈内元素的地址是连续的 /*************************************************************************** *function:创建一 ...
四边形不等式 对于函数 \(w(x,y)\),如果对于所有的 \(a\leq b \leq c \leq d\) 都满足 \[w(a,c)+w(b,d)\leq w(a,d)+w(b,c) \]则称其满足四边形不等式。还有一种等效写法对于 \(l<r-1\) 有 \[w(l,r-1)+w(l+1,r ...
A. Cloudberry Jam 卡累利阿森林中最珍贵的浆果是云莓。为了用云莓制成果酱,我们需要取等量的云莓和糖,然后烹煮。也就是说,如果你有 \(2\) 公斤的云莓,你需要 \(2\) 公斤的糖。然而,使用 \(2\) 公斤云莓和 \(2\) 公斤糖制作出的果酱,并不会得到 \(4\) 公斤的果 ...
双向循环链表和双向链表相比,可以直接从首结点找到尾结点,不需要再通过遍历来查找尾结点了,方便数据的增删,降低了程序的时间复杂度,其在插入删除的时候不需要定义太多的变量,减少了程序的空间复杂度。 /**************************************************** ...
数学知识 数论 质数 试除法判定质数 \(O(\sqrt n)\) bool is_prime(int x) { if (x < 2) return false; for (int i = 2; i <= x / i; i ++ )//sqrt(x)较慢,i*i存在溢出风险 if (x % i == ...
单向链表只能找它的直接后继,而不能找到直接前驱,而双向链表不仅能找到直接后继,而且也能找到直接前驱 /******************************************************************************* * * * 设计双向链表的接口 * a ...
对于单向链表来说,只能从头结点遍历到尾结点,而没有办法从尾结点直接访问首节点,基于单链表的弊端,引入单向循环链表 构造单向循环链表的结点 typedef struct CircularLinkedList { DataType_t data; //结点的数据域 struct CircularLink ...
对于顺序表来说,我要一次性的申请一块内存空间,但有时候用户并不确定要多大的内存空间!有时候可能会向里边添加元素,但是受限于申请的内存大小,导致加入元素的时候并不方便,而且顺序表的插入和删除相对复杂,需要设计元素的移动。基于顺序表的缺陷,引入链表,在创建链表的时候,我只需要申请一个头结点,存储链表的头 ...
顺序表说白了就是内存中的一块连续的存储空间,这块连续的存储空间可以存放相同类型的数据。有的人可能就有疑问了,为什么不用数组呢?数组是程序在运行期间系统自动分配的,而创建的顺序表是用户手动创建的;数组存储在栈空间中,而顺序表是使用malloc函数或者calloc函数在堆空间申请的;栈空间用系统说了算, ...
比赛链接 本文发布于博客园,会跟随补题进度实时更新,若您在其他平台阅读到此文,请前往博客园获取更好的阅读体验。 跳转链接:https://www.cnblogs.com/TianTianChaoFangDe/p/18799072 开题 + 补题情况 和前三场比起来前期的签到题发挥稳定了许多,没有被卡 ...
比赛链接 本文发布于博客园,会跟随补题进度实时更新,若您在其他平台阅读到此文,请前往博客园获取更好的阅读体验。 跳转链接:https://www.cnblogs.com/TianTianChaoFangDe/p/18796248 开题情况 打回蓝了。 很基础的一场,不过怎么有人会因为没取模白挂两发啊 ...
寻宝游戏题解 为了防止“剧透”,关键的部分被折叠起来了。 这个问题很新o,是昨天的Codeforce在线赛的第二分区的A题(一般难度很低)https://codeforces.com/contest/2090/problem/A 这样的文字代表它可以被展开 NeverGonnaGiveYouUp 朴 ...