数据结构 学习
文章平均质量分 75
数据结构 学习 路径 记录关键点
专栏创建2025年6月14日07点56分
梦境虽美,却不长
熟练技能:大记忆遗忘术.--------------更新与2024/8/3 0:15
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构 学习 图 2025年6月14日 12点57分
强连通:在有向图中,如果从顶点u到v有一条路径,且从v到u也有一条路径,则称u和v强连通强连通分量:有向图的极大强连通子图关节点(割点):删除该顶点会增加图的连通分量数量桥(割边):删除该边会增加图的连通分量数量双连通分量:不含关节点的极大连通子图欧拉回路:图中经过每条边恰好一次并回到起点的闭合路径欧拉路径:图中经过每条边恰好一次的路径(不一定闭合)欧拉图:存在欧拉回路的图半欧拉图:存在欧拉路径但不存在欧拉回路的图哈密尔顿路径:经过图中每个顶点恰好一次的路径哈密尔顿回路:闭合的哈密尔顿路径(起点=终点)原创 2025-06-14 15:30:38 · 1034 阅读 · 0 评论 -
数据结构 学习 队列 2025年6月14日 11点22分
单调队列是一种特殊的队列数据结构,它保持队列中元素的单调性(单调递增或单调递减)。)原则,但与普通队列不同的是,循环队列的最后一个元素连接回第一个元素,形成一个环形结构。单调队列通过维护数据的单调性,将原本O(nk)的滑动窗口问题优化到O(n),是解决一类极值问题的有效工具。双向队列是一种非常实用的数据结构,它提供了比普通队列和栈更灵活的操作方式,在算法设计和系统开发中都有广泛应用。它结合了栈和队列的特性,提供了更灵活的数据操作方式。:既可以作为队列使用(FIFO),也可以作为栈使用(LIFO)原创 2025-06-14 12:36:40 · 1159 阅读 · 0 评论 -
数据结构 学习 栈 2025年6月14日 11点09分
单调栈通过维护数据的单调性,将原本O(n²)的暴力解法优化到O(n),是解决一系列区间极值问题的利器。掌握单调栈的关键在于理解问题本质并选择合适的单调性方向。:考虑数组边界情况,可添加哨兵元素简化逻辑。:有时需要先从左到右扫描,再从右到左扫描。:根据问题决定栈内存储元素值还是索引。:根据问题需求选择递增栈还是递减栈。:栈内元素从栈底到栈顶保持递增顺序。:栈内元素从栈底到栈顶保持递减顺序。找下一个更大元素 → 单调递减栈。找下一个更小元素 → 单调递增栈。只需要比较值 → 存储值。寻找下一个更大/更小元素。原创 2025-06-14 11:18:20 · 387 阅读 · 0 评论 -
数据结构 学习 链表 2025年6月14日08点01分
它主要用于解决如数独、N皇后等约束满足问题,其核心思想是使用双向十字循环链表来高效实现回溯算法中的覆盖与恢复操作。一种概率性数据结构,它允许在有序序列中进行快速的搜索、插入和删除操作,平均时间复杂度为O(log n)。它由William Pugh于1989年提出,结合了链表和二分查找的优点。每一高层都是下一层的"快速通道",元素以一定概率出现在更高层。前进指针数组(forward),指向各层的下一个节点。// 头部删除 尾部删除 指定位置删除。只有一个指向下一个节点的指针。节点链接:左、右、上、下。原创 2025-06-14 11:08:08 · 430 阅读 · 0 评论 -
数据结构 (树) 学习 2025年6月12日12:59:39
左旋和右旋是平衡的核心,需熟练掌握四种不平衡情况的处理。原创 2025-06-12 13:00:07 · 847 阅读 · 0 评论 -
数据结构 散列表 学习 2025年6月12日15:30:48
通过哈希函数将键(key)映射到存储位置,从而实现快速的插入、删除和查找操作。语言中的字典/映射结构(如Python的dict,Java的HashMap)哈希表是现代编程中最重要的数据结构之一,几乎所有编程语言都提供了内置实现。链接地址法 每个桶使用链表 储存多个元素。开放寻址法 寻找下一个可用位置。查找数据时 计算哈希值 直接访问对应位置。插入数据时 计算哈希值 确定储存位置。不支持有序遍历(除非使用特殊实现):存储数据的容器,通常是一个数组。:不同键映射到相同哈希值的情况。缓存实现(如Redis)原创 2025-06-12 18:18:19 · 458 阅读 · 0 评论 -
数据结构 线性表 学习 2025/6/12 21点27分
元素之间具有顺序关系(除首尾元素外,每个元素有且仅有一个直接前驱和一个直接后继)线性表是数据结构的基础,理解它对学习更复杂的数据结构非常重要。存储线性表的数据元素,通过指针连接元素。逻辑上相邻的元素物理位置不一定相邻。:受限的线性表(只能在端点操作)逻辑上相邻的元素物理位置也相邻。:用数组实现的链表(游标实现)依次存储线性表中的数据元素。随机访问(通过下标直接访问):每个节点包含前驱和后继指针。插入/删除需要移动大量元素。插入/删除不需要移动元素。元素具有相同数据类型。原创 2025-06-13 00:52:56 · 386 阅读 · 0 评论
分享