常见算法要点思路小总结

本文总结了常见的算法思路,包括分治算法和动态规划(DP)。分治算法通过划分子问题、递归求解和合并来解决问题,如在数组中寻找第i大的数。DP算法则侧重于最优问题的解决,通过子问题的递归表达式构建全局最优解,如求解最长公共子串。两者关键在于找到合适的子问题表达形式,但DP通过存储子问题避免了分治中的重复计算。
摘要由CSDN通过智能技术生成

常见算法要点思路小总结

子问题的构思:对于整体的问题的抽象化理解,不要往分解问题的角度去想,而是想排除某个或者某些元素之后问题规模缩小,然后递归调用。同样注意,分治中按照区块进行分组调用,然后合并。

对于初始条件和递归退出条件:分治算法递归的调用是需要退出条件的,而DP算法是需要初始条件去逐层构造

分治算法

  • 划分子问题+递归求解子问题+合并子问题——自上而下

  • 既然是递归解决子问题,那么递归的要求:递归主体,退出条件都要明确

  • 例如寻找在大小为n的数组中找到第i大的数,如果不使用分治算法,需要 O ( n l o g n ) O(nlogn)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值