算法
文章平均质量分 83
hhhhhello啊
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法入门:BFS与DFS详解(C++实现)
BFS与DFS算法核心解析:本文系统介绍了广度优先搜索(BFS)和深度优先搜索(DFS)两大基础算法。BFS采用队列实现分层遍历,适合解决最短路径问题;DFS通过递归或栈实现深度探索,常用于连通性检测。文章详细对比了两者的特性差异:BFS保证最短路径但内存消耗大,DFS内存效率高但不保证最优解。通过岛屿计数等经典问题,展示了两种算法的实际应用场景和代码实现,并提供了算法选择指南。掌握这两种基本搜索策略,将为解决更复杂的图论问题奠定坚实基础。原创 2025-07-15 22:58:20 · 1652 阅读 · 0 评论 -
算法入门--动态规划(C++)
《动态规划核心思想与实战解析》摘要:动态规划通过分解重叠子问题和存储中间结果来高效解决问题。本文以斐波那契数列(记忆化搜索优化递归)、数塔问题(自底向上求解)、最长上升子序列(状态转移方程)和0-1背包问题(二维DP)四个经典案例,详解了动态规划的核心思想、适用场景(重叠子问题、最优子结构、无后效性)和解题步骤(定义状态、确定转移方程、初始化边界、计算顺序)。文章包含完整C++代码实现,并推荐了LeetCode练习题,帮助读者由浅入深掌握这一重要算法范式。原创 2025-07-13 23:44:24 · 1361 阅读 · 0 评论 -
算法入门---回溯算法(C++实现)
本文系统介绍了回溯算法的核心概念与应用。回溯算法通过"试错"思想解决组合优化问题,采用递归框架实现路径探索与撤销操作。文章详细解析了全排列和N皇后两个经典例题,展示了回溯算法的实际应用与实现方法,包括终止条件设置、选择处理和撤销操作等关键步骤。同时提出剪枝优化技巧,如可行性剪枝和对称性剪枝,以提高算法效率。最后给出了回溯算法的通用模板,建议通过大量练习掌握其思维模式。回溯算法适用于组合、约束满足等多种问题,是算法学习中必须掌握的重要技术。原创 2025-07-08 14:25:25 · 1330 阅读 · 0 评论 -
算法入门---分治算法详解(C++实现)
本文系统介绍了分治算法的核心思想与实现。分治算法采用"分解-解决-合并"三步骤,将问题拆分为子问题递归求解,最后合并结果。文章详细讲解了归并排序、快速排序、二分查找和汉诺塔等经典案例的实现代码,分析了它们的时空复杂度,并阐述了分治的适用条件(问题可分解、子问题独立、解可合并)。同时指出递归是实现分治的常用方式,介绍了主定理分析复杂度的方法,总结了分治算法的优缺点,并推荐了相关练习题目。分治算法结构清晰,是解决复杂问题的有效方法。原创 2025-07-08 11:23:49 · 1119 阅读 · 0 评论 -
算法入门:搜索算法详解(C语言实现)
本文介绍了两种基础搜索算法的C语言实现。线性搜索简单直观,适用于无序数据,时间复杂度为O(n);二分搜索效率更高,时间复杂度为O(logn),但要求数据有序。文章详细讲解了两种算法的实现原理、C语言代码示例(包括迭代和递归版本),并进行了性能比较。还提供了应用场景分析和常见问题解答,建议读者通过实践加深理解。掌握这两种算法是学习更高级搜索技术的基础。原创 2025-07-07 09:23:30 · 884 阅读 · 0 评论 -
算法入门——字典树(C++实现详解)
本文介绍了字典树(Trie)这一高效处理字符串匹配的数据结构。字典树通过前缀共享机制实现快速查找,时间复杂度仅与字符串长度相关(O(L)),适用于搜索提示、拼写检查等场景。文章详细解析了字典树的核心原理、C++实现方法(包括节点设计、插入、搜索等操作),并分析了其复杂度。此外还提供了自动补全系统的实战应用示例,探讨了内存优化等改进方向,最后对比了字典树与哈希表的特性差异,建议通过LeetCode练习巩固理解。掌握字典树将显著提升字符串处理能力。原创 2025-07-04 09:42:48 · 1580 阅读 · 0 评论 -
算法入门——排序算法详解(C++实现)
本文系统介绍了常见排序算法及其C++实现。主要内容包括:1. 分类讲解7种经典排序算法:冒泡排序、选择排序、插入排序、希尔排序、归并排序和快速排序,包含原理说明、完整代码实现和复杂度分析;2. 算法特性对比:从时间复杂度(O(n²)到O(nlogn))、空间复杂度、稳定性等维度进行对比;3. 应用场景建议:根据数据规模、内存限制、稳定性需求等因素推荐合适的算法。文章强调实践的重要性,建议读者通过代码实现加深理解。这些基础排序算法是计算机科学的基石,掌握它们有助于提升算法设计能力。原创 2025-06-22 12:42:17 · 1158 阅读 · 0 评论 -
算法入门:深入理解哈希表(C++实现详解)
哈希表是一种高效的数据结构,可实现接近O(1)时间复杂度的快速查找。文章系统介绍了哈希表的原理、实现及应用:首先解释其核心机制是通过哈希函数将键映射到存储位置;然后详细分析两种主流冲突解决方法(链地址法和开放寻址法);接着展示C++ STL中unordered_map的使用和手动实现链地址法哈希表的完整代码;最后探讨性能优化技巧及实际应用场景(如LeetCode题目)。掌握哈希表的设计原理和实现方法,对提升算法效率具有重要意义。原创 2025-06-20 09:33:27 · 672 阅读 · 0 评论 -
算法入门——堆(C++)详解:从理论到实现
本文全面介绍了堆数据结构及其应用。堆是一种高效的完全二叉树结构,分为最大堆和最小堆,常用于优先队列、堆排序和图算法。文章详细讲解了堆的核心操作(上浮、下沉、建堆)、C++实现方法(包括自定义类和STL的priority_queue),以及堆在TopK问题、合并有序链表等场景的应用。通过复杂度分析和代码示例,读者可以深入理解堆的原理与实现技巧。最后提供了练习题和完整实现示例,帮助巩固堆这一重要数据结构的知识。原创 2025-06-20 09:50:43 · 1931 阅读 · 0 评论 -
算法入门:树结构详解(C++实现)
树结构是计算机科学中最重要的数据结构之一,掌握树结构是算法学习的必经之路。本文将带你从零开始理解树结构,并通过C++实现二叉树的核心操作。原创 2025-07-04 09:25:48 · 960 阅读 · 0 评论
分享