自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 地图着色问题——七城市协调发展

本文将结合7城市着色场景,拆解问题建模逻辑,详解贪心算法与回溯法的核心思想、执行流程,并从效率、适用场景等维度做全面对比,同时补充可视化思路,让算法落地更直观。核心思路:按城市编号顺序(0~6)依次处理,为每个城市分配“最小可用的合法颜色”——即从颜色1到4依次尝试,找到第一个不与相邻城市重复的颜色,分配后立即处理下一个城市,不回溯、不调整。回溯法是暴力搜索的优化版,通过“尝试-回退”的递归逻辑遍历所有可能的着色方案,既能找到第一个合法解,也能枚举所有解,核心是“剪枝”避免无效遍历。

2025-12-20 20:36:35 486

原创 动态规划算法

它将原问题拆解为若干个规模更小的子问题,先求解这些子问题并记录结果,当后续计算需要用到相同子问题的解时,直接复用已记录的结果,以此大幅降低时间复杂度。掌握动态规划的关键,在于理解问题的三大特征,熟练运用“确定状态—推导转移方程—初始化边界—确定遍历顺序”的四步解题法,并通过经典例题的练习,逐步培养对问题的分析和建模能力。推导状态转移方程:到达第 i 阶有两种途径,从第 i-1 阶爬 1 阶上来,或从第 i-2 阶爬 2 阶上来,因此 dp[i] = dp[i-1] + dp[i-2]。

2025-12-20 20:21:46 362

原创 分治法——从思想到实战

在算法设计中,分治法(Divide and Conquer)是一种经典的分而治之思想,它将复杂问题拆分为若干个规模更小、结构相同的子问题,解决子问题后再合并结果,最终得到原问题的答案。从基础的归并排序、二分查找,到进阶的Strassen算法,分治法的应用贯穿了算法学习的全过程,是每位程序员必须掌握的核心技能。1. 降低问题复杂度:将高复杂度问题拆分为低复杂度子问题,如归并排序将O(n^2)的排序问题优化为O(n\log n)。适用场景:问题可拆分、子问题独立、子问题解可合并,且拆分后能降低问题复杂度。

2025-12-17 21:36:31 322

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除