- 博客(6)
- 收藏
- 关注
原创 Python 中的二分查找与二分答案
二分查找(Binary Search)是一种在有序数组中查找特定元素的高效算法,时间复杂度为 O(log n)。二分答案(Binary Search Answer)是基于二分思想解决最优化问题的技巧,常用于"最小化最大值"或"最大化最小值"类型的问题。二分查找与二分答案是算法竞赛和实际编程中极其重要的技巧。二分查找的基本原理:在有序序列中高效查找元素各种模板的实现:闭区间、开区间、递归与非递归边界查找技巧:查找第一个、最后一个、左边界、右边界二分答案的应用:解决最优化问题实战技巧。
2025-12-26 20:32:50
428
原创 Python贪心算法
贪心算法是算法工具箱中的重要工具。正确使用时,它能提供高效的解决方案。先证明后实现:确保问题具有贪心选择性质从简单开始:先实现基础版本,再优化充分测试:用边界用例和随机数据测试保持灵活性:当贪心失败时,考虑动态规划等其他方法掌握经典的贪心问题模板理解各种证明方法的适用场景在实际问题中积累经验,培养对贪心适用性的直觉(本文例题来自洛谷)
2025-12-18 19:35:20
510
原创 Python递推与递归算法详解与例题实战
递推更适合计算型问题,效率高递归更适合描述型问题,代码简洁掌握这两种思想,可以解决大多数算法问题。在实际应用中,需要根据问题特点选择合适的方法,并注意优化递归深度和计算效率。关键要点递归必须有明确的结束条件递推需要找到正确的递推关系递归深度有限制,Python默认约1000层记忆化可以显著提高递归性能大多数递归问题可以转化为动态规划(递推)(本文例题来源洛谷)
2025-12-07 16:11:19
647
原创 Python暴力枚举算法详解与例题实战
提前剪枝:在搜索过程中尽早排除不可能的情况对称性减少:利用问题的对称性减少重复计算记忆化搜索:保存已计算的结果避免重复计算双向搜索:从起点和终点同时开始搜索迭代加深:逐步增加搜索深度暴力枚举算法虽然简单,但却是算法学习的重要基础。通过本文的例题,我们可以看到:(1)如何将问题转化为枚举问题(2)如何设计枚举策略(3)如何优化枚举过程(4)如何使用Python工具库简化实现在实际应用中,暴力枚举往往是解决问题的第一步,通过对暴力解法的分析和优化,可以逐步推导出更高效的算法。
2025-12-07 15:30:05
435
原创 十大经典排序算法详解(Python)
选择建议小规模数据:插入排序、冒泡排序通用排序:快速排序需要稳定排序:归并排序大规模数据:归并排序、快速排序整数排序:计数排序、基数排序内存受限:堆排序、希尔排序每种排序算法都有其特定的适用场景,在实际应用中应根据数据特点、性能要求和资源限制来选择合适的算法。本文代码均实现升序排序,降序排序请自行根据原理进行修改。
2025-11-26 17:26:08
780
原创 高精度算法详解:实现大数运算的利器(Python)
在计算机科学中,基本数据类型(如int、float等)的表示范围是有限的。当我们需要处理超出这些范围的大数时,就需要使用高精度算法。本文将通过具体的代码实现,详细解析高精度算法的原理、实现方法及其优缺点分析。
2025-11-25 17:07:22
377
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅