在很多算法书中都是把贪婪选择即贪心算法排在第一个讲述,继而再讨论分治策略和动态规划。其实,分治策略才是最基础的,动态规划、贪婪选择可以说是建立在其基础上的(算法导论中就按照分治策略、动态规划、贪婪选择的顺序来讲的)。那分之策略、动态规划、贪婪选择以及递归之间到底有啥联系与区别呢?1、分治策略(Divide and Conquer) 将原问题分解为若干个规模较小但类似于原问
上一文中,我们浅析了分治策略、动态规划、贪婪选择以及递归之间的关系,下面我们通过一个实例,硬币找零问题,来分别设计分治算法、动态规划算法、贪心算法。硬币找零问题:现存在一堆面值为 v1、v2、v3 … 个单位的硬币,问最少需要多少个硬币才能找出总值为x单位的零钱?这里我们假设v[]={0, 1, 2, 5, 10, 20, 50}。0是用来充位数的,这样v1、v2与下标1、2对上。这里v1必须为1
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号