八枚硬币问题
1.问题描述
设有八枚硬币,分别表示为a、b、c、d、e、f、g、h,其中有且仅有一枚硬币是假币, 并且假币的重量与真币的重量不同,可能轻,也可能重。现要求以天平为工具, 用最少的比较次数挑选出假币,并同时确定这枚假币的重量比其它真币是轻还是重。
2.解题思路
八枚硬币的判定过程可以用树结构来描述。
把硬币分成三组,从八枚硬币中任取六枚a、b、c、d、e、f,在天平两端各放三枚进行比较。 假设a、b、c三枚放在天平的一端,d、e、f三枚放在天平的另一端,可能出现如图所示的三种比较结果,
如下决策树,树的高度即为比较次数,基本的算法思想还是分治法:分解,解决,合并;