05 2013 档案

摘要:人狼羊菜问题是计算机领域中的经典问题。之所以经典,一方面这是编译原理等课程中的一个建模及编码问题,另一方面也经常被作为智力题用在面试中。本文讨论的是怎么建模、编码的问题。问题描述:一个农夫有一条船,和狼、羊、菜,农夫要把这3样东西运到河到另一边,农夫每次最多只能通过这个船运一样东西,要防止狼吃羊、羊吃白菜(即不能在没有农夫在的情况下同时在同一岸边),该怎么过?该问题的解决分为2个阶段,第一阶段是对状态建模,第二阶段是用广度遍历来找到问题的解。其中广度遍历阶段和“量水问题”的广度遍历解法类似。问题抽象:建立一个struct型的state,其中包括4个bool型的变量a1 a2 a3 a4分别对应 阅读全文
posted @ 2013-05-15 19:50 eternalwt 阅读(5761) 评论(0) 推荐(0)
摘要:欧几里德算法用来求2个自然数的最大公约数(GCD),数论有定理指出这两个自然数分别乘以一定的整数系数然后相加可以得到他们的GCD,且该GCD是这两个数组合能得出的最小正整数。扩展的欧几里德算法用来计算这两个数的GCD及相加得到GCD组合系数。算法是先用欧几里德算法得出递推方法,然后采用递归。给出了2... 阅读全文
posted @ 2013-05-03 09:38 eternalwt 阅读(293) 评论(0) 推荐(0)