数据结构与算法之美
文章平均质量分 93
<但凡.
给生活添点passion,开始我们的编程之路!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构与算法之美:拓扑排序
拓扑排序是对有向无环图(DAG)的顶点进行线性排序,使得对于图中的每一条有向边 (u, v),顶点 u 在排序中总是位于顶点 v 的前面。常用于任务调度、依赖解析等场景。简单来说,拓扑排序就是每次从入度为0的点开始,每次都走入度为0的点,直到遍历完所有的顶点。拓扑排序只适用于有向无环图,并且,拓扑排序的结果可能不唯一。原创 2025-07-19 17:49:57 · 1127 阅读 · 9 评论 -
数据结构与算法之美:跳表
本文介绍了跳表(SkipList)这一高效数据结构。跳表通过多层概率性索引结构,将有序链表的查询、插入和删除操作时间复杂度优化至O(logn)。文章详细讲解了跳表的基本原理:底层包含所有元素,上层逐步稀疏;通过随机生成层数实现高效查找。随后给出了C++实现方案,包括节点结构、查找算法、随机层数生成、插入删除操作等核心代码实现。最后分析了跳表的性能特点:时间复杂度O(logn),空间复杂度O(n),实现简单且适合高并发场景。跳表是平衡树的轻量级替代方案,广泛应用于Redis等系统。原创 2025-07-12 22:30:42 · 1117 阅读 · 0 评论 -
数据结构与算法之美:线索二叉树
摘要:本文详细介绍了线索二叉树的概念、结构和操作方法。线索二叉树通过利用空指针域存储前驱/后继信息,实现了无需递归或栈的高效遍历。文章讲解了节点结构、构建过程(包括线索化代码)、遍历算法,以及插入删除操作的注意事项。最后分析了线索二叉树的优缺点:优点是节省空间、遍历高效,缺点是操作复杂度较高。线索二叉树是普通二叉树的优化版本,适用于需要频繁遍历的场景。原创 2025-07-12 22:30:09 · 560 阅读 · 0 评论 -
数据结构与算法之美:索引表
本文介绍了索引表的概念与应用,重点讲解了索引表的核心作用、常见类型(B树、哈希、全文索引)及优缺点,并给出使用建议。通过C++代码示例展示了哈希表索引的简单实现,包括性能优化和扩展功能(动态调整、范围查询)。最后指出索引表在数据库等场景的实际应用,强调合理选择数据结构对提升查询效率的重要性。文章提供了从理论到实践的完整索引表知识框架。原创 2025-07-11 17:03:07 · 590 阅读 · 0 评论 -
数据结构与算法之美:广义表
本文介绍了广义表的基本概念与实现。广义表是一种非线性数据结构,允许元素为原子或子表,具有递归嵌套特性。文章详细讲解了广义表的定义、表示方法(如(a,(b,c),d))、存储结构(带tag标识的链式节点)和基本操作(创建、求长度/深度、遍历等)。通过C++代码示例展示了广义表类的实现,包括节点结构、递归创建/销毁方法以及测试用例。最后对比了广义表与线性表的区别,并列举了广义表在文件目录、多项式存储等场景的应用。广义表虽实现复杂,但为层次化数据提供了灵活解决方案。原创 2025-07-10 16:48:23 · 1152 阅读 · 6 评论 -
数据结构与算法之美:LRU Cache
因为优先使用的我们要放到链表的最开始,所以说我们先通过哈希表判断这个值在不在list里,如果在的话,我们把这个值调整到链表最开始。_LRUList中存储数据访问顺序,_hashMap存储每个数据的key值对应的迭代器,以便于实现快速调整。通过双向链表维护访问顺序,结合哈希表实现高效查询,LRU Cache 在有限空间内最大化缓存命中率。原创 2025-06-28 16:16:22 · 773 阅读 · 3 评论 -
数据结构与算法之美:图
万字爆肝!详细讲解图以及图相关各种算法,配图解释!!!原创 2025-06-27 15:52:54 · 1753 阅读 · 9 评论 -
数据结构与算法之美:并查集
摘要:本文介绍了并查集数据结构及其实现。并查集主要用于处理不相交集合的合并与查询,支持Find和Union操作。文章详细讲解了初始化、查找(含路径压缩优化)和合并(含按秩合并优化)的实现方法,并提供了C++代码示例。此外还介绍了判断元素是否同属一个集合和计算集合数量的操作。通过优化,并查集的操作时间复杂度可接近常数级原创 2025-06-27 15:51:42 · 668 阅读 · 4 评论 -
数据结构与算法之美:排序
数据结构与算法之美:排序原创 2025-03-11 13:43:44 · 1037 阅读 · 4 评论 -
【新春不断更】数据结构与算法之美:二叉树
【新春不断更】二叉树的模拟实现原创 2025-01-28 13:24:21 · 2149 阅读 · 0 评论 -
数据结构与算法之美:堆
1. 二叉树不存在度大于 2 的结点2. 二叉树的子树有左右之分,次序不能颠倒,因此⼆叉树是有序树size是当前有效元素个数,capacity是最大有效元素个数(容量)。int* arr;int size;}Heap;原创 2025-01-23 13:34:27 · 1278 阅读 · 0 评论 -
数据结构与算法之美:栈
栈的详解原创 2025-01-17 16:37:28 · 1080 阅读 · 0 评论 -
数据结构与算法之美:队列
用C语言实现队列!原创 2024-12-17 08:58:19 · 1976 阅读 · 1 评论 -
数据结构与算法之美:双向循环链表
详解双向循环链表原创 2024-12-12 13:42:33 · 2142 阅读 · 21 评论 -
数据结构与算法之美:再谈单链表(进阶)
C++实现单链表以及单链表的静态实现!原创 2024-12-10 07:57:42 · 1515 阅读 · 22 评论 -
数据结构与算法之美:单链表
C语言实现单链表!原创 2024-12-08 19:22:06 · 1649 阅读 · 3 评论 -
数据结构与算法之美:顺序表详解
在数据结构中,顺序表是一种基本的数据组织形式,它是线性表的一种实现方式。线性表是由相同数据类型的元素构成的有序序列,而顺序表则是将这些元素顺序地存储在一块连续的存储区域内。顺序表的特点是通过元素的物理位置(内存中的位置)来表示元素之间的逻辑顺序关系。其实说白了,数组就是一种顺序表,数组通过开辟一块连续的内存,并将数据连续的存储在这块内存之中。类似这种我们就称之为顺序表。顺序表的底层代码就是数组。原创 2024-12-05 13:34:34 · 1572 阅读 · 0 评论 -
数据结构与算法之美:复杂度分析
数据结构只复杂度分析!原创 2024-12-04 12:35:07 · 1169 阅读 · 1 评论
分享