算法
不在扬州的炒饭
这个作者很懒,什么都没留下…
展开
-
算法学习-分治法
设计思想对于规模为n的问题,如果可以直接解决就解决,否则将其分为k个规模较小的问题,这些子问题相互独立并且和原来问题的形式相同,递归地解决这些子问题,之后再将子问题的解合并得到原问题的解分治法常常采用递归的技术,每一层递归上都有三个步骤分解 求解子问题 合并快速排序的例子快速排序的思想就是选一个基准(通常是首项),把比它小的排到它前面,比它大的排到它后面,这称作一次划分,然后...原创 2019-12-26 16:38:19 · 202 阅读 · 0 评论 -
算法学习-回溯法(2)0/1背包问题求解
【问题描述】有n个重量分别为{w1,w2,…,wn}的物品,它们的价值分别为{v1,v2,…,vn},给定一个容量为W的背包。设计从这些物品中选取一部分物品放入该背包的方案,每个物品要么选中要么不选中,要求选中的物品不仅能够放到背包中,而且满足重量限制具有最大的价值。具体的物品重量及价值如下,背包容量W=6 物品编号 重量 价值 ...原创 2019-10-19 15:30:59 · 2949 阅读 · 0 评论 -
算法学习-回溯法(1)求幂集以及全排列相关问题
基础复杂问题的解是由若干个小的决策步骤组成的决策序列,解决一个问题所有可能的决策序列构成该问题的解空间使用回溯法求解问题的时候应该首先明确解空间。解空间中满足约束条件的解就是可行解了,能用最低代价完成的可行解就是最优解问题的解空间一般都是树的形式,所以也称为解空间树 ->树根节点表示搜索的初始状态,每一层的节点是上一层节点做出决策之后状态的转换比如下图就是求集合{a,b...原创 2019-10-12 11:35:42 · 3308 阅读 · 1 评论