Fork me on GitHub
摘要: 分支定界 (branch and bound) 算法是一种在问题的解空间上搜索问题的解的方法。但与回溯算 法不同,分支定界算法采用广度优先或最小耗费优先的方法搜索解空间树,并且,在分支定界算 法中,每一个活结点只有一次机会成为扩展结点。 利用分支定界算法对问题的解空间树进行搜索,它的搜索策略是: 产 阅读全文
posted @ 2020-12-10 22:55 索智源 阅读(630) 评论(0) 推荐(0) 编辑
摘要: 贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有 利)的选择,从而希望能够导致结果是最好或者最优的算法。 下面案例,假设有如下课程,希望尽可能多的将课程安排在一间教室里: 课程 开始时间 结束时间 美术 9:00 10:00 英语 9:30 10:30 数学 10 阅读全文
posted @ 2020-12-10 22:51 索智源 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 回溯的基本原理 在问题的解空间中,按深度优先遍历策略,从根节点出发搜索解空间树。算法搜索至解空间 的任意一个节点时,先判断该节点是否包含问题的解。如果确定不包含,跳过对以该节点为根的 子树的搜索,逐层向其祖先节点回溯,否则进入该子树,继续深度优先搜索。 回溯法解问题的所有解时,必须回溯到根节点,且根 阅读全文
posted @ 2020-12-10 21:59 索智源 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 如果一个机器人 一次可以上 1 级台阶,也可以一次上 2 级台阶。求机器人走一个 n 级台阶总共有多少种走法 先试着用分治法尝试下 分治法核心思想: 从上往下分析问题,大问题可以分解为子问题,子问题中还有更小的子问题 比如总共有 5 级台阶,求有多少种走法;由于机器人一次可以走两级台阶,也可以走一级 阅读全文
posted @ 2020-12-10 16:47 索智源 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 一个装有 16 枚硬币的袋子,16 枚硬币中有一个是伪造的,伪造的硬币和普通硬币从表面上看不出有任何差别,但是那 个伪造的硬币比真的硬币要轻。现有给你一台天平,请你在尽可能最短的时间内找出那枚伪造的硬币。 常规思维: 每次从待比较的硬币中取两枚进行计较,如果天平平衡(相等)就继续取剩下的硬币进行比较 阅读全文
posted @ 2020-12-10 16:43 索智源 阅读(265) 评论(0) 推荐(0) 编辑