26考研408
文章平均质量分 92
ChoSeitaku
是一名在校大学生,目前在做C语言、C++、蓝桥杯、算法、考研数学、408的内容,后期会做深度学习、机器学习、神经网络、人工智能、AIGC、WEB3、开发相关的内容
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NO.14数据结构红黑树|树高|转化4阶B树|插入操作|删除操作
红黑树是一种近似平衡的二叉搜索树,通过颜色约束和旋转操作维持平衡。其核心特性包括:根节点为黑色、红色节点不能相邻、任意路径黑节点数相同(黑高平衡)。红黑树高度上限为2log(n+1),与4阶B树存在等价转换关系。插入操作可能引发双红冲突,通过重构或染色调整;删除操作需处理双黑情况,可能涉及兄弟节点调整。所有更新操作均可在O(logn)时间内完成,且拓扑结构调整次数为常数级。红黑树通过适度平衡实现了高效动态维护,广泛应用于各类标准库的实现中。原创 2025-10-03 11:32:14 · 718 阅读 · 0 评论 -
NO.13数据结构排序|直接插入|折半插入|简单选择排序|堆排序|冒泡排序|快速排序|归并排序|基数排序|外部归并排序|败树者|置换选择排序|最佳归并树
本文介绍了排序算法的基本概念和常见算法。排序是将乱序数据按关键字重新排列的过程,算法稳定性指关键值相等的元素排序后相对位置不变。主要介绍了插入排序(直接插入、折半插入、希尔排序)和选择排序(简单选择、堆排序)两类算法。插入排序通过将元素插入有序子表实现,时间复杂度O(n²),希尔排序通过分组插入提高效率。选择排序每趟选取最小元素,简单选择排序时间复杂度O(n²),堆排序利用完全二叉树特性,时间复杂度O(nlogn)。从空间复杂度看,这些算法均为O(1),其中直接插入、折半插入和简单选择排序是稳定的,希尔排序原创 2025-10-03 09:14:37 · 365 阅读 · 0 评论 -
NO.12数据结构查找|B树|B+树|Hash表|线性探测法|平方探测法|再散列法|拉链法|装填因子
B树和B+树是两种重要的多路平衡查找树。B树每个节点最多有m个子树,非根节点关键字数在⌈m/2⌉-1到m-1之间,所有叶节点位于同一层。B树高度范围可通过节点最大/最小关键字数推导得出。B+树与B树的主要区别在于非叶节点仅作为索引,所有关键字都出现在叶节点且通过指针连接。哈希表通过散列函数将关键字映射到地址,存在冲突问题,常用开放定址法或链地址法处理。典型应用包括Python字典和MD5算法,删除操作通常采用标记而非实际删除。原创 2025-10-03 05:47:29 · 393 阅读 · 0 评论 -
NO.11数据结构查找|ASL|顺序查找|折半查找|索引查找
本文系统介绍了查找算法的基础概念与几种典型查找方法。首先明确了查找的定义及静态/动态查找表的区别,并引入衡量查找效率的平均查找长度(ASL)概念。随后详细讲解了顺序查找算法,包括其实现方式、哨兵机制及ASL分析。针对有序表,重点介绍了高效的折半查找算法,阐述了其查找思想、实现代码及折半查找树的构建原理。最后介绍了索引查找方法,分析了其数据结构特点及不同查找策略下的ASL计算。通过具体实例和公式推导,全面比较了各种查找算法的时间复杂度特性,为选择合适查找策略提供了理论依据。原创 2025-10-03 05:38:55 · 810 阅读 · 0 评论 -
NO.10数据结构图|Prim算法|Kruskal算法|Dijkstra算法|Floyd算法|拓扑排序|关键路径
本文介绍了图论中的基本应用,包括最小生成树、最短路径算法和拓扑排序。 最小生成树部分讲解了Prim算法和Kruskal算法,前者适用于稠密图(O(|V|^2)),后者适合稀疏图(O(|E|log|E|))。最短路径算法包括Dijkstra算法(单源最短路径,O(|V|^2))和Floyd算法(全源最短路径,O(|V|^3)),并指出Dijkstra不适用于负权边图。 拓扑排序部分定义了对有向无环图(DAG)的顶点排序方法,并介绍了AOV网和AOE网的概念。全文通过示意图和算法步骤详细说明了各算法的实现过程和原创 2025-10-01 22:58:45 · 724 阅读 · 0 评论 -
NO.9数据结构图|深度优先遍历|广度优先遍历|伪代码|邻接表|邻接矩阵
本文介绍了图的两种基本遍历方法:深度优先遍历(DFS)和广度优先遍历(BFS)。DFS采用递归思想,借助栈结构实现,类似树的先序遍历,时间复杂度邻接矩阵O(|V|²)、邻接表O(|V|+|E|)。BFS采用队列实现层次遍历,时间复杂度邻接矩阵O(|V|²)、邻接表O(|V|+|E|)。两种方法都需要visited数组标记访问状态,对于无向图,调用次数等于连通分量个数。文中给出了两种方法在邻接矩阵和邻接表上的具体实现代码,并分析了时间空间复杂度。DFS可能生成深度优先生成树或森林,BFS同样具有类似特性。原创 2025-10-01 08:41:14 · 951 阅读 · 0 评论 -
NO.8数据结构图|定义|分类|邻接矩阵|邻接表|邻接多重表|十字链表
本文介绍了图的基本概念、分类及存储结构。图由顶点集合V和边集合E组成,根据边有无方向可分为有向图和无向图。图的存储结构包括邻接矩阵法和邻接表法:邻接矩阵用二维数组存储顶点间邻接关系,空间复杂度为O(n²);邻接表采用链式存储结构,对每个顶点建立单链表存储邻接边。此外还介绍了图的连通性、生成树和森林的概念,以及图与树、森林的转化关系。图的存储结构除邻接矩阵和邻接表外,还包括十字链表和邻接多重表等表示方法。原创 2025-10-01 06:57:51 · 792 阅读 · 0 评论 -
NO.7数据结构树|线索二叉树|树森林二叉树转化|树森林遍历|并查集|二叉排序树|平衡二叉树|哈夫曼树|哈夫曼编码
摘要: 本文系统介绍了树形数据结构及其相关算法。主要内容包括:1)线索二叉树的概念、节点结构和三种遍历方式(先序、中序、后序)的实现;2)树的三种存储结构(双亲表示法、孩子表示法、孩子兄弟表示法)及其优缺点;3)树、森林与二叉树之间的相互转换方法;4)树和森林的遍历方式;5)并查集的定义、基本操作(初始化、查找、合并)及路径压缩优化;6)二叉排序树(BST)的定义、特性及其存储结构。 这些内容涵盖了树形数据结构的基础知识与核心应用,为后续深入学习更复杂的树结构(如AVL树、红黑树等)奠定了基础。原创 2025-07-17 16:04:50 · 897 阅读 · 0 评论 -
NO.6数据结构树|二叉树|满二叉树|完全二叉树|顺序存储|链式存储|先序|中序|后序|层序遍历
本文系统介绍了树与二叉树的基本概念、性质及遍历方法。主要内容包括:1)树的基本术语和性质,如结点、度、深度等;2)二叉树的定义和特殊类型(满二叉树、完全二叉树)的特性;3)二叉树的存储结构(顺序和链式);4)四种遍历算法(先序、中序、后序递归遍历及层序遍历)的实现原理和代码示例。文章通过图示和数学推导详细阐述了二叉树的各种性质,特别是关于结点数量与树高度的关系,以及完全二叉树的编号特性。原创 2025-07-16 14:40:45 · 1140 阅读 · 0 评论 -
NO.5数据结构串和KMP算法|字符串匹配|主串与模式串|KMP|失配分析|next表
本文介绍了字符串匹配的两种算法:暴力算法和KMP算法。暴力算法通过逐个字符比较实现匹配,时间复杂度为O(nm)。KMP算法通过构建next数组优化匹配过程,利用最长相等前后缀避免重复匹配。文章详细讲解了next数组的构建方法,包括部分匹配值的计算和移位处理,并给出了具体示例。同时通过练习题演示KMP算法的匹配过程,分析失配时的指针移动策略。KMP算法显著提高了匹配效率,是字符串匹配领域的重要优化算法。原创 2025-07-13 18:49:42 · 710 阅读 · 0 评论 -
NO.4数据结构数组和矩阵|一维数组|二维数组|对称矩阵|三角矩阵|三对角矩阵|稀疏矩阵
摘要:本文介绍了数组的存储方式和特殊矩阵的压缩存储方法。数组是由相同类型元素构成的有限序列,包括一维数组和二维数组(行优先和列优先存储)。特殊矩阵的压缩存储针对对称矩阵、三角矩阵和三对角矩阵,通过计算公式减少存储空间。稀疏矩阵可采用顺序存储(三元组、伪地址)或链式存储(邻接表、十字链表)来优化存储效率。这些方法有效解决了矩阵存储中的空间浪费问题。原创 2025-07-13 18:42:30 · 583 阅读 · 0 评论 -
NO.3数据结构栈和队列|顺序栈|共享栈|链栈|顺序队|循环队列|链队|双端队列|括号匹配|中缀表达式转后缀|后缀表达式求值
栈与队列数据结构总结 栈是一种后进先出(LIFO)的线性表,只允许在栈顶进行插入和删除操作。顺序栈采用数组实现,需要判满/空;链栈采用链表实现,更灵活。共享栈可以有效利用存储空间。n个元素进栈的不同出栈序列数满足卡特兰函数。 队列是一种先进先出(FIFO)的线性表,在队尾插入,队头删除。顺序队列存在假溢出问题,循环队列通过取模运算解决。链队列使用带队头队尾指针的链表实现。判断循环队列空/满有多种方法,如牺牲一个单元、使用size变量或tag标记。 两种数据结构都有顺序和链式两种存储方式,基本操作包括初始化、原创 2025-07-12 14:13:03 · 838 阅读 · 0 评论 -
NO.2数据结构线性表|线性表|顺序表|链表|单链表|双向链表|循环链表|静态链表|插入|删除
本文介绍了线性表及其实现方式。线性表是n个具有相同特性的数据元素组成的有序序列,具有"四个一"的特点。线性表的主要实现方式包括顺序表和链表。顺序表通过连续内存存储元素,具有随机存取优势但插入删除效率低;链表通过指针连接元素,分为单链表、双向链表和循环链表,插入删除效率高但存储密度低。静态链表则用数组实现链式结构。文章详细比较了各种实现的优缺点,并阐述了基本操作如建立、插入和删除的实现方法。顺序表适用于数据量小且少改动的场景,链表则适合频繁增删的情况。原创 2025-07-09 17:29:21 · 922 阅读 · 0 评论 -
NO.1数据结构绪论|数据结构|逻辑结构|物理结构|算法|算法的度量
本文系统介绍了数据结构与算法的核心概念。数据结构包含逻辑结构(线性/非线性)和物理结构(顺序/链式/索引/散列存储),以及数据运算的定义与实现。算法具有五大特征(有穷性、确定性等)和四大目标(正确性、效率等)。重点阐述了时间/空间复杂度的计算方法,通过多层循环例题演示了求解过程,强调要关注循环特点、退出条件和执行语句。时间复杂度分析需确定问题规模n,计算频度f(n),最终用大O表示法简化。本文为数据结构与算法的学习提供了系统性的理论框架和实用的分析方法。原创 2025-07-09 17:07:14 · 1133 阅读 · 0 评论
分享