python实现三壶谜题的示例详解
前言 有一个充满水的8品脱的水壶和两个空水壶(容积分别是5品脱和3品脱)。通过将水壶完全倒满水和将水壶的水完全倒空这两种方式,在其中的一个水壶中得到4品脱的水。 一、算法思想 算法分析 采用的算法思想是将某个时刻水壶中水的数量看作一个状态,用一个长度为3的数组表示。 初始状态便为[8,0,0],再拓展他的下一结点的可能结构。 若下一结点的结构已经被拓展过了便放弃,若没有拓展过则加入拓展列表(open_list)中。然后递归上述操作。 直到拓展列表(open_list)为空或者找到目标为止。 思想图解 这里的第一个数就代表着是那个8品脱的瓶子,依次分别是8品脱,5品脱,3品脱
用户评论