自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 队列链表实现与典型问题解析

本文详细讲解了队列的链表实现及其常见问题。作者从队列定义和结构体设计入手,重点分析了入队、出队、销毁等操作中的典型错误,如未初始化next指针、非法访问释放后的内存等。文章还深入解释了空链表、空指针、悬空指针等关键概念,并强调了assert函数在指针验证和错误预防中的重要作用。通过具体代码示例,作者分享了初学者容易忽视的细节,如内存释放后指针置空的重要性,以及如何正确使用断言来避免解引用空指针等问题。最后总结了队列实现的注意事项,为数据结构学习者提供了实用的调试经验和编程建议。

2025-06-02 15:36:22 710

原创 对三数之和的理解与思考

这篇文章详细讲解了LeetCode"三数之和"问题的解法思路和代码实现。作者参考了B站up主灵茶山艾府的解法,通过固定一个元素i并利用双指针j和k遍历剩余元素,将三数之和转化为两数之和问题。文章重点解析了二级指针返回二维数组的接口设计,以及排序、去重和优化等关键步骤。其中包含了代码内存分配示意图、快排实现、双指针移动逻辑以及重复元素的处理技巧。最后强调学习算法应多参考优秀解法,通过模仿提升编程能力。全文以清晰的逻辑和详细注释帮助读者理解这个中等难度的算法问题。

2025-05-29 09:51:45 1026 1

原创 栈的基本知识及有效的括号习题讲解

栈是一种后进先出(LIFO)的线性表,只允许在一端进行插入或删除操作。栈可以通过动态数组或单链表实现,其中动态数组因其内存连续性和缓存友好性,访问栈顶元素的时间复杂度为O(1)。文章详细介绍了栈的基本功能实现,包括初始化、入栈、出栈、访问栈顶元素、计算栈大小、判断栈是否为空以及栈的销毁。此外,文章还通过“有效的括号”问题展示了栈的应用,通过栈结构判断括号是否匹配。最后,文章提到栈的对称性和其他可能的判断标准,并提及即将到来的期末考试。

2025-05-21 22:02:58 607 4

原创 随机链表的复制

题目要求对包含随机指针的链表进行深拷贝。链表的每个节点包含一个数据域和两个指针:next指向下一个节点,random指向任意节点或空。深拷贝需要创建一个全新的链表,其节点的值和指针关系与原链表相同,但新链表的指针不能指向原链表的节点。解题策略分为三步:首先,在原链表的每个节点后插入其拷贝节点;其次,处理拷贝节点的random指针,使其指向对应拷贝节点;最后,将拷贝节点解下并连接成新链表,同时恢复原链表的连接。代码实现中,通过遍历链表完成插入、指针处理和链表恢复操作。该题主要考察对链表操作的理解,特别是对指针

2025-05-18 22:09:12 678 1

原创 二分法-进击的奶牛(小白在算法题中的挣扎)

一.洛谷习题-进阶的奶牛 : 思路分析+语义理解+代码展示二分查找的粗略展示

2025-03-27 23:06:06 410 7

原创 一二维前缀和以及相关的习题(来自算法小白的新的探索)

一.创作的缘由和感悟 因上一篇关于一道蓝桥杯题的博客受到大家的点赞和收藏,我备受鼓励,想继续发布一些关于算法的博客。优快云上的博客质量参差不齐,读者的体验并不是很好(因为我本身就读了很多篇文章)我参考了大佬的一些对前缀和不错的观点和图片(有的很好的图我会拿来直接用,并指明出处),也参考了算法书,有了自己的理解,所以发布这篇关于前缀和的博客二.一维前缀和 高中时学过递推公式Sn=Sn-1+an;现在学了数组,我们就直接类比过来。 s[n]=s[n-1]+a[n], (n=1,2,3,.

2025-03-19 18:07:28 1252 6

原创 第15届蓝桥杯B组省赛题-宝石组合(一个来自算法小白的文章,自己很费心的一篇文章)

把小的数字取够或者取多了,我们就跳出循环了,我们显然无法判断是取多了还是取够了,这并不重要,我们只需从小到大输出三枚宝石的闪亮值,这个组合字典序最小即可,比如取了2个值为10的宝石,又取了2个值为20的宝石,我们输出10,10,20即可。但是我说的确实啰嗦哈。值得注意的是,j是按照升序的方式去遍历i的倍数,方便字典序排序的,举个简单例子,i=10,当j=10时,宝石有两个,j=20时,宝石有一个,正好凑够3个,j=30时,宝石有2个,由字典序的规则,10,10,20这个组合的序肯定小于20,30,30。

2025-03-14 22:58:28 880 3

原创 二分查找法 c++

通过比较输入的值与数组靠中间位置的元素值,来改变左右边界,进而缩小筛选范围,如果能找到的话,输出对应的数组索引,找不到的话,最终会跳出循环,输出-1。

2024-11-05 23:02:12 283

空空如也

空空如也

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

TA关注的人

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