Harness Engineering Wiki - 内容索引
本页面由 Claude 自动维护,每次 ingest 新资料后更新
📊 Stats
- 总页面数: 151
- 实体页: 2
- 概念页: 81
- 摘要页: 62
- 对比页: 6
- 最后更新: 2026-05-09
📚 摘要页 (Summaries)
| 页面链接 | 简介 | 日期 |
|---|---|---|
| 时间空间复杂度入门 | 复杂度分析的实用方法:大O简化估算技巧 | 2026-05-02 |
| 数组基础 | 静态数组与动态数组原理、增删查改时间复杂度及底层实现 | 2026-05-02 |
| 数组实现(动态数组) | 动态数组完整Java实现:扩缩容策略、索引检查、内存泄漏防护 | 2026-05-02 |
| 链表基础 | 单链表与双链表原理、增删查改操作及时间复杂度分析 | 2026-05-02 |
| 链表实现 | 双链表与单链表完整Java实现:虚拟头尾节点、头尾引用、内存管理 | 2026-05-02 |
| Karpathy-AI+Obsidian知识库教程 | Karpathy方法:用Obsidian+Claude Code+Claudian构建AI驱动知识库 | 2026-05-02 |
| 环形数组技巧及实现 | 环形数组原理、Java实现、O(1)头尾增删技巧 | 2026-05-02 |
| 跳表基础 | 跳表核心原理、多层索引设计、O(log N)时间复杂度、与二叉搜索树对比 | 2026-05-02 |
| 位图-总结 | 位图原理:用1 bit表示状态,相比布尔数组节省7/8空间,适用于超大规模数据 | 2026-05-02 |
| 队列和栈基础 | 队列(FIFO)与栈(LIFO)基本原理、操作受限特性及基础API | 2026-05-03 |
| 用链表实现队列栈 | 用链表实现栈和队列的Java代码教程 | 2026-05-03 |
| 数组实现队列和栈 | 用数组和环形数组实现栈和队列,O(1)时间复杂度 | 2026-05-03 |
| 双端队列实现 | 双端队列两种实现方式:链表(O(1))与环形数组(O(1)) | 2026-05-03 |
| 哈希表基础 | 哈希表原理、哈希函数设计、冲突解决(拉链法/线性探查)、负载因子与扩容机制 | 2026-05-03 |
| 哈希表链地址法 | 拉链法实现原理、哈希冲突解决方法、简化版Java代码实现(内容不完整) | 2026-05-03 |
| 线性探查法的两个难点 | 线性探查法实现难点,侧重算法原理理解(内容不完整,仅含简化场景) | 2026-05-03 |
| 线性探测哈希表实现 | 线性探测代码实现:简化版与生产级实现,两种删除处理方法(内容不完整) | 2026-05-03 |
| 哈希表与链表组合原理 | 哈希表+链表组合原理、LinkedHashMap与Golang map遍历顺序 | 2026-05-03 |
| 用数组加强哈希表 | 用数组加强哈希表实现O(1) randomKey() API,数据结构设计(⚠️内容不完整) | 2026-05-03 |
| 布隆过滤器-总结 | 布隆过滤器核心原理:超大规模数据集快速判重、空间优化、数据隐私性(⚠️内容不完整) | 2026-05-03 |
| 二叉树基础及常见类型 | 二叉树类型、实现方式、核心概念与中英文术语对照 | 2026-05-03 |
| 二叉树遍历基础 | 递归遍历(前中后序位置)+ 层序遍历三种写法 + 与DFS/BFS算法关系 | 2026-05-03 |
| DFS和BFS的适用场景 | DFS穷举路径 vs BFS最短路径,以二叉树遍历为例(⚠️内容不完整) | 2026-05-03 |
| N叉树遍历基础 | N叉树定义、森林概念、与二叉树关系,遍历方法概述(⚠️内容不完整) | 2026-05-03 |
| 树和映射数据结构基础 | BST原理、TreeMap/TreeSet实现、O(logN)有序操作,与HashMap对比 | 2026-05-03 |
| 红黑树基础 | 自平衡BST,5条性质、旋转操作、插入删除算法、与AVL树对比、Java实现 | 2026-05-03 |
| 前缀树(Trie)基础 | Trie核心原理、多叉树本质、与HashMap/TreeMap对比、前缀操作优势、应用场景(⚠️内容不完整) | 2026-05-04 |
| 二叉堆基础 | 二叉堆原理、sink/swim操作、优先级队列Java实现、堆排序应用、O(logK)时间复杂度 | 2026-05-04 |
| 线段树基础教程 | 线段树原理及三种变体(基本/动态开点/懒更新),⚠️内容不完整 | 2026-05-04 |
| 哈夫曼树 | 哈夫曼树原理、最优前缀编码、数据压缩基础(⚠️内容不完整) | 2026-05-04 |
| 图论术语 | 图论基础术语:图结构、度、子图类型、连通性等核心概念 | 2026-05-04 |
| 图结构的通用代码实现 | 图结构基础教程(⚠️内容不完整,仅获取简介部分) | 2026-05-04 |
| 图遍历基础 | 图遍历(DFS/BFS),visited/onPath数组,⚠️内容不完整 | 2026-05-04 |
| 欧拉图基础 | 一笔画游戏与欧拉路径/回路:七桥问题、度数判断法、Hierholzer算法 | 2026-05-04 |
| 图最短路径算法 | Dijkstra、Bellman-Ford、A*、Floyd算法原理与适用场景,⚠️内容不完整 | 2026-05-04 |
| 最小生成树算法概览 | 最小生成树定义、Kruskal与Prim算法原理、随机地图生成应用,⚠️内容不完整 | 2026-05-04 |
| 并查集基础 | 并查集基础:解决无向图动态连通性问题,O(1)时间复杂度 | 2026-05-04 |
| 排序算法的关键指标 | 排序算法评估三要素:时空复杂度、稳定性、原地排序 | 2026-05-05 |
| 选择排序-总结 | 选择排序原理、O(n²)时间复杂度、不稳定排序、优化尝试 | 2026-05-05 |
| 冒泡排序-总结 | 冒泡排序原理、稳定性优化、提前终止,O(n²)稳定排序 | 2026-05-05 |
| 插入排序-总结 | 插入排序原理、反向思维优化、稳定排序、对有序度高的数组效率高 | 2026-05-05 |
| 希尔排序-总结 | 基于插入排序的改进,通过h有序数组预处理突破O(N²)时间复杂度(⚠️内容不完整) | 2026-05-05 |
| 快速排序算法 | 快速排序:结合二叉树前序遍历理解,partition+递归,O(NlogN)(⚠️内容不完整) | 2026-05-05 |
| 归并排序-总结 | 归并排序核心思路:结合二叉树后序遍历,分治+合并(⚠️内容不完整) | 2026-05-05 |
| 堆排序-总结 | 基于二叉堆的原地排序算法,O(N log N)时间复杂度、O(1)空间复杂度 | 2026-05-05 |
| 计数排序-总结 | 非比较排序,统计元素次数实现O(n+k)时间复杂度排序(⚠️内容不完整) | 2026-05-05 |
| 桶排序-总结 | 桶排序三步骤、与归并/计数排序关系、时间复杂度数学证明 | 2026-05-05 |
| 基数排序-总结 | 基数排序原理、稳定排序的重要性、计数排序的扩展(⚠️内容不完整) | 2026-05-05 |
| 算法总结 | 算法本质(穷举)+ 框架思维 + 代码框架模板 | 2026-05-05 |
| 链表技巧总结 | 双指针技巧的7大应用场景:合并、分解、倒数第k个、中点、环检测、交点 | 2026-05-05 |
| 数组双指针技巧总结 | 数组双指针:快慢指针(原地修改、滑动窗口)+ 左右指针(二分、n数之和、反转、回文) | 2026-05-05 |
| 滑动窗口框架 | 滑动窗口算法通用框架,四道 LeetCode 经典题目实践 | 2026-05-05 |
| 二叉树系列算法核心纲领 | 二叉树解题总纲:两种思维模式(遍历 vs 分解问题)、前中后序位置理解、与动归/回溯/DFS关系 | 2026-05-05 |
| 理解递归框架 | 从树的角度理解递归,两种思维模式:遍历 vs 分解问题 | 2026-05-06 |
| 动态规划框架 | 动态规划三要素、通用解题框架及斐波那契/零钱兑换问题详解 | 2026-05-06 |
| 回溯算法框架 | 回溯算法决策树模型、通用框架及全排列问题详解 | 2026-05-06 |
| BFS框架 | BFS算法框架、滑动谜题与打开转盘锁题解、双向BFS优化 | 2026-05-06 |
| 排列组合子集问题一网打尽 | 排列/组合/子集问题9种形式与回溯树解法(⚠️内容不完整) | 2026-05-06 |
| 贪心算法解题套路框架 | 贪心算法核心思想、与回溯/动态规划的本质区别、从穷举到贪心的优化演进 | 2026-05-06 |
| 分治算法解题套路框架 | 分治思想与分治算法的区别、复杂度降低原理及解题框架 | 2026-05-06 |
| 算法复杂度分析 | 大O表示法、利用数据规模反推算法、编码陷阱 | 2026-05-06 |
| 二叉堆详解实现优先级队列 | 二叉堆原理与优先级队列实现,swim/sink操作,O(logK)时间复杂度 | 2026-05-08 |
🏢 实体页 (Entities)
| 页面链接 | 类型 | 简介 |
|---|---|---|
| labuladong | 个人创作者 | 算法学习平台 labuladong.online 作者 |
| leetcode | 在线平台 | 全球知名的在线算法题库与编程面试准备平台 |
💡 概念页 (Concepts)
| 页面链接 | 领域 | 简介 |
|---|---|---|
| 时间复杂度 | 算法基础 | 描述算法执行时间随输入规模增长的渐近趋势 |
| 动态数组 | 数据结构 | 底层静态数组 + 自动扩缩容的动态数据结构 |
| 扩缩容 | 数据结构 | 动态调整数组容量的机制:扩容与缩容策略 |
| 链表 | 数据结构 | 链式存储的线性数据结构,元素分散通过指针连接 |
| 单链表 | 数据结构 | 每个节点只含后继指针的单向链表 |
| 双链表 | 数据结构 | 每个节点含前驱和后继指针的双向链表 |
| 虚拟头尾节点 | 编程技巧 | 通过虚拟节点统一链表操作逻辑的技巧 |
| 空间复杂度 | 算法基础 | 描述算法占用额外存储空间随输入规模增长的渐近趋势 |
| 数组 | 数据结构 | 内存连续存储相同类型元素,支持随机访问的基础数据结构 |
| 垃圾回收 | 内存管理 | 自动回收不再被引用对象的内存管理机制 |
| 队列 | 数据结构 | 操作受限的FIFO线性结构 |
| 栈 | 数据结构 | 操作受限的LIFO线性结构 |
| 哈希表 | 数据结构 | 基于哈希函数的O(1)查找数据结构,支持键值对存储 |
| 拉链法 | 数据结构 | 哈希冲突解决方法:数组+链表,冲突元素存入同一桶的链表 |
| 线性探查法 | 数据结构 | 开放寻址法的一种:冲突时线性向后探查空位,缓存友好但存在聚集问题 |
| 环形数组 | 数据结构 | 通过模运算实现循环复用的数组结构,O(1)头尾增删 |
| 哈希链表 | 数据结构 | 哈希表+双向链表组合,保持O(1)操作同时维护插入顺序 |
| 哈希集合 | 数据结构 | 基于哈希表实现的集合,O(1)去重和查找,用于BFS visited记录 |
| 布隆过滤器 | 数据结构 | 概率型数据结构:超大规模数据集快速判重,空间效率高,存在假阳性 |
| 二叉树 | 数据结构 | 每个节点最多有两个子节点的树结构,是大多数高级数据结构的基础 |
| 二叉搜索树 | 数据结构 | 左小右大的特殊二叉树,中序遍历结果有序(BST) |
| 多叉树 | 数据结构 | 每个节点可有0~N个子节点的树结构,Trie树的基础 |
| 图 | 数据结构 | 由节点和边构成,多叉树的延伸,支持复杂网络关系 |
| DFS | 算法基础 | 深度优先搜索:沿路径深入到底再回溯,用visited数组防环 |
| BFS | 算法基础 | 广度优先搜索:按层级扩散,用队列实现,适合最短路径 |
| 最短路径 | 图算法 | 最短路径问题分类(单源/多源/点对点)及经典算法(Dijkstra/Bellman-Ford/A*/Floyd) |
| Dijkstra算法 | 图算法 | 经典最短路径算法:贪心思想、优先级队列优化、只适用于非负权重图 |
| 并查集 | 数据结构 | 并查集(Union Find)用于管理元素分组,支持合并与查询操作 |
| 哈希函数 | 哈希表 | 哈希函数将键映射为哈希值,是哈希表的核心组件 |
| 哈希冲突 | 哈希表 | 不同键产生相同哈希值的冲突现象,需通过方法解决 |
| 开放寻址法 | 哈希表 | 冲突时在哈希表内寻找空位的解决方法,无需额外链表 |
| 位图 | 数据结构 | 用1 bit表示状态,空间效率极高的概率型数据结构 |
| 红黑树 | 数据结构 | 自平衡BST,通过5条着色性质保证O(logN)树高与操作 |
| AVL树 | 数据结构 | 自平衡BST,严格平衡(左右子树高度差≤1),查找更快 |
| 有向图 | 图论 | 边有方向的图结构,区分入度与出度 |
| 无向图 | 图论 | 边无方向的图结构,节点的度=入度+出度 |
| 加权图 | 图论 | 边带权重的图结构,权重影响最短路径计算 |
| 节点 | 图论 | 图的基本组成单元,边连接两个节点 |
| 边 | 图论 | 连接两个节点的结构,分有向边与无向边 |
| 度 | 图论 | 节点相连的边数,有向图中=入度+出度 |
| 入度 | 图论 | 有向图中指向该节点的边数 |
| 出度 | 图论 | 有向图中从节点指出的边数 |
| 子图 | 图论 | 原图的子集(包含部分节点和边) |
| 连通图 | 图论 | 任意两节点间有路径的无向图 |
| 连通分量 | 图论 | 无向图的极大连通子图 |
| 强连通图 | 图论 | 有向图中任意两节点互相可达 |
| 弱连通图 | 图论 | 忽略边的方向后变为连通图的有向图 |
| 强连通分量 | 图论 | 有向图的极大强连通子图 |
| 最短路径算法 | 图算法 | 求解图中最短路径的经典算法集合(Dijkstra/Bellman-Ford等) |
| 最小生成树算法 | 图算法 | 求解加权无向图最小生成树的算法集合(Kruskal/Prim等) |
| 排序算法 | 算法基础 | 排序算法评估指标与分类,包含选择排序等基础算法 |
| 冒泡排序 | 排序算法 | 通过交换相邻逆序对实现,O(n²)稳定排序,可提前终止 |
| 插入排序 | 排序算法 | 将元素插入左侧有序数组,O(n²)稳定排序,对有序数组效率高 |
| 选择排序 | 排序算法 | 每次选最小值放左侧,O(n²)不稳定排序,无法利用有序性 |
| 希尔排序 | 排序算法 | 插入排序的改进,通过h有序数组预处理突破O(n²)(⚠️内容不完整) |
| 快速排序 | 排序算法 | 分治思想,平均O(n log n),不稳定排序,partition+递归(⚠️内容不完整) |
| 堆排序 | 排序算法 | 基于二叉堆的原地排序算法,O(N log N)时间复杂度、O(1)空间复杂度 |
| 优先级队列 | 数据结构 | 基于二叉堆实现,按优先级顺序取出元素,O(log N)出入队 |
| 计数排序 | 排序算法 | 非比较排序,O(n+k)时间复杂度,桶排序的特例(k=n) |
| 归并排序 | 排序算法 | 分治排序,O(n log n)稳定排序,结合二叉树后序遍历理解 |
| 二叉堆 | 数据结构 | 完全二叉树,sink/swim操作,优先级队列和堆排序的底层结构 |
| 稳定排序 | 排序算法特性 | 相等元素保持原有相对顺序,基数排序的基础 |
| 原地排序 | 排序算法特性 | 仅需O(1)额外空间,直接在原数组上操作的排序方式 |
| 桶排序 | 排序算法 | 分桶后分别排序的非比较排序,计数排序的通用形式 |
| 双指针 | 算法技巧 | 双指针技巧:对向指针、快慢指针、双指针拼接、滑动窗口等模式 |
| 滑动窗口 | 算法技巧 | 快慢双指针的核心应用,O(N)解决子数组/子串问题 |
| 前序遍历 | 二叉树遍历 | 刚进入节点时的处理时机,快速排序=前序遍历的应用 |
| 中序遍历 | 二叉树遍历 | 左→根→右,BST中序遍历结果有序 |
| 后序遍历 | 二叉树遍历 | 能获取左右子树信息,归并排序=后序遍历的应用 |
| 层序遍历 | 二叉树遍历 | BFS框架基础,队列实现,一层层遍历节点 |
| 递归 | 算法基础 | 从树的角度理解递归,两种思维模式:遍历 vs 分解问题 |
| 动态规划 | 算法设计 | 分解问题+记忆化,避免重复计算的递归优化 |
| 分治算法 | 算法设计 | 分解独立子问题,递归求解后合并(归并/快排) |
| 回溯算法 | 算法设计 | 遍历思维+状态管理,做选择→递归→撤销选择 |
| 大O表示法 | 算法基础 | 描述算法复杂度渐进上界的数学记号 |
| 完全二叉树 | 数据结构 | 除最后一层外各层全满,最后一层节点靠左排列的二叉树 |
| 贪心算法 | 算法设计 | 每一步取局部最优,期望达到全局最优的算法思想 |
| 负载因子 | 哈希表 | 衡量哈希表装满程度的指标:已存元素数/数组容量 |
| 斐波那契数列 | 算法基础 | 递归、重叠子问题和动态规划优化的经典入门例子 |
| 基数排序 | 排序算法 | 按数字位依次稳定排序的非比较排序算法,常以计数排序为子过程 |
| 二分查找 | 算法技巧 | 在有序或单调搜索空间中不断排除一半候选区间的 O(log n) 查找算法 |
⚖️ 对比页 (Comparisons)
| 页面链接 | 对比主题 | 日期 |
|---|---|---|
| 数组vs链表 | 数组与链表的多维度对比分析 | 2026-05-02 |
| 拉链法vs线性探查法 | 拉链法与线性探查法的多维度对比 | 2026-05-03 |
| 哈希链表vs数组加强哈希表 | 哈希链表与数组加强哈希表两种组合结构对比 | 2026-05-03 |
| 红黑树vsAVL树 | 红黑树与AVL树的多维度对比 | 2026-05-04 |
| BFSvsDFS | BFS与DFS的适用场景与实现对比 | 2026-05-04 |
| 有向图vs无向图 | 有向图与无向图的多维度对比 | 2026-05-04 |
📝 使用说明
- 新资料摄取后,Claude 会自动更新本页面
- 点击任意 wiki-link 可跳转到对应页面
- 如需查询,请直接询问 Claude