- 博客(12)
- 收藏
- 关注
原创 快速复习之数据结构篇——二叉树(一)
本文介绍了二叉树的基本概念、性质及存储结构。主要内容包括:1)树的基本概念如度、层次、深度等;2)二叉树的定义和特性,包括满二叉树和完全二叉树的区别;3)二叉树的重要性质,如n0=n2+1等;4)二叉树的顺序存储和链式存储两种方式。文章还包含5道二叉树基础选择题及其答案,帮助读者巩固知识点。适合计算机专业学生或算法爱好者学习二叉树基础知识。
2026-05-08 22:14:15
157
原创 快速复习之数据结构篇——栈和队列
本文介绍了栈和队列的数据结构及其应用。栈部分详细讲解了栈的概念、实现方式(数组/链表/双端队列)以及典型应用——括号匹配问题,通过LeetCode例题展示栈的实际应用。队列部分阐述了队列的实现方式(链表更优)及其在BFS算法中的应用,以图像渲染问题为例演示队列的使用场景。文章还提供了博主专栏链接,方便读者深入学习相关算法知识。
2026-05-07 23:16:42
373
20
原创 快速复习之数据结构篇——链表
本文系统介绍了链表数据结构及其常见操作。主要内容包括:链表的基本概念(非连续存储、通过指针实现逻辑顺序)和分类(8种组合,常用单链表和双链表)。重点讲解了链表的经典面试题解法:移除元素时使用哨兵节点处理头节点;反转链表采用三指针法;快慢指针法查找中间节点和倒数第k个节点;合并有序链表使用虚拟头节点;分割链表需注意置空尾指针;判断回文需结合反转和双指针;相交链表通过长度差对齐;环形链表检测使用Floyd算法。文章强调画图辅助理解,并提供了详细代码实现和优化技巧,特别是快慢指针的数学原理分析。
2026-04-30 21:40:46
671
24
原创 快速复习之数据结构篇——顺序表
顺序表是一种基于数组实现的线性数据结构,支持快速随机访问。文章首先介绍了顺序表的基本概念,分为静态和动态两种实现方式,重点讲解了动态顺序表的常见操作接口(如push_back、insert等)。随后通过三个典型算法题(移除元素、数组去重、合并有序数组)展示了双指针技巧在顺序表操作中的应用。最后指出顺序表的三大缺点:插入删除效率低、扩容开销大、空间浪费,并引出链表作为改进方案。全文以C++代码示例为主,兼顾理论讲解和实践演示,适合数据结构初学者快速掌握顺序表的核心知识点。
2026-04-26 20:10:45
616
27
原创 算法基础之——二分答案
二分查找的核心在于问题具有「二段性」,即答案区间能被分成满足和不满足条件的两部分。本文系统讲解了二分查找的原理、模板和应用场景:1)基础模板包括朴素二分、查找左右边界;2)进阶应用涵盖平方根、旋转数组最小值、峰值检测等;3)提供9道典型例题,从704题二分查找基础到蓝桥杯冶炼金属难题,循序渐进。关键点:理解二段性本质,掌握不同场景的边界处理(如向上/向下取整避免死循环),并通过配套题目巩固模板应用。最后强调按顺序刷题的重要性,确保算法能力阶梯式提升。
2026-04-15 17:27:52
474
25
原创 从素数定义到欧拉筛,一步搞定数论基础之素数
本文系统介绍了素数的定义及其筛选方法。首先解释了素数(只能被1和自身整除的自然数)与合数的区别,然后详细讲解了三种素数筛选算法:试除法(优化到√n)、埃氏筛(标记素数倍数)和高效的欧拉筛(线性筛)。重点剖析了欧拉筛的核心原理——通过最小质因子唯一标记合数,确保每个数只被筛一次,时间复杂度为O(n)。文章包含代码实现和数学证明,适合算法初学者掌握数论基础。
2026-04-01 09:39:14
440
18
原创 动态规划入门(一):斐波那契模型与路径问题,10 题吃透状态转移
本文总结了动态规划在解决各类问题中的应用,重点分析了斐波那契数列模型、路径问题和地下城游戏等典型案例。文章指出动态规划的核心在于找到正确的状态转移方程,并通过递推公式求解。在斐波那契数列模型中,展示了递归和动态规划两种实现方式;在路径问题中,详细讲解了不同路径、带障碍路径、珠宝价值等问题的解法;特别针对复杂的地下城游戏问题,揭示了正向DP的局限性,提出了反向DP的正确解法,强调必须同时考虑当前血量和历史最低血量。通过多个实例代码,系统性地展示了动态规划在不同场景下的应用技巧和实现方法。
2026-03-28 23:45:31
431
12
原创 快速复习之——动态内存管理
本文摘要:介绍了C语言动态内存管理的核心概念,包括malloc、calloc、realloc和free等函数的用法及注意事项。重点分析了常见的内存管理错误案例,如内存泄漏、野指针等问题,并提供了柔性数组的定义和使用方法。文章还总结了动态内存分配的优点和注意事项,强调正确使用内存管理函数的重要性,最后概述了C/C++程序内存区域的划分。内容涵盖动态内存分配、释放、错误处理等关键知识点,对理解内存管理机制具有指导意义。
2026-03-23 18:27:23
495
15
原创 快速复习之——自定义类型
本文介绍了C语言中结构体的相关概念和应用。主要内容包括:1.结构体类型的声明、创建和初始化方法,以及匿名结构体和自引用结构体;2.结构体内存对齐规则及其原因(空间换时间),通过示例分析不同结构体的内存占用;3.结构体传参建议(传地址而非整个结构体);4.位段的概念、特点及使用注意事项;5.联合体的声明、特点(共享内存)和大小计算规则,并给出实际应用示例;6.枚举类型的定义、优点(相比#define)和使用方法。文章通过代码示例详细说明了这些数据结构的特点和应用场景。
2026-03-03 10:00:00
1738
7
原创 快速复习之——内存函数和数据在内存中的存储
本文介绍了C语言中常用的内存操作函数及其实现原理,包括memcpy、memmove、memset和memcmp。重点分析了这些函数对字节操作的特点,以及模拟实现方法。同时探讨了数据在内存中的存储方式,包括整数的补码表示、大小端字节序判断,以及浮点数按IEEE 754标准的存储格式。通过多个代码示例展示了类型转换、整形提升等概念在实际编程中的应用,并解释了相关输出结果的原因。文章最后还提供了一个关于整型与浮点型数据相互转换的典型例题分析。
2026-03-02 20:16:00
648
6
原创 字符串函数详解
本文介绍了C语言中常用的字符串处理函数,主要包括:1)字符分类函数(islower等)和转换函数(tolower/toupper);2)基本字符串操作函数(strlen、strcpy、strcat、strcmp)的使用要点和模拟实现方法;3)带长度限制的安全版本函数(strncpy、strncat、strncmp);4)字符串查找(strstr)和分割(strtok)函数;5)错误处理函数(strerror/perror)。重点说明了各函数的使用注意事项,如目标空间大小、'\0'处理等,并提供了部分核心函数
2026-01-25 20:25:00
1065
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅