Time 类似于旅行推销员的问题?用输出淹没控制台?
免责声明这是针对我的一个班级的加密程序,可能是个人使用的。然而,我没有被评分 我已经破解了这个密码,这是一个随机密码。 Q PC JI UQTGF TQMU六台。XMGS QJ UMQJ IKGTTime 类似于旅行推销员的问题?用输出淹没控制台?,time,big-o,Time,Big O,免责声明这是针对我的一个班级的加密程序,可能是个人使用的。然而,我没有被评分 我已经破解了这个密码,这是一个随机密码。 Q PC JI UQTGF TQMU六台。XMGS QJ UMQJ IKGT 现在用字典来计算这个问题,不是和旅行推销员的问题很相似吗?O(n!)表示最坏情况。而且,既然计算机无法知道某件事是否正确,我不是必须把每一个结尾的排列都吐出来供审查吗?或者我应该为人类的审查设定一些下限?像至少40%的匹配吗?凯撒密码就是简单地将字母取下来,并将其替换为向下移动的字母 因此: 对于字母
现在用字典来计算这个问题,不是和旅行推销员的问题很相似吗?O(n!)表示最坏情况。而且,既然计算机无法知道某件事是否正确,我不是必须把每一个结尾的排列都吐出来供审查吗?或者我应该为人类的审查设定一些下限?像至少40%的匹配吗?凯撒密码就是简单地将字母取下来,并将其替换为向下移动的字母 因此: 对于字母表中的每个字母,
a
您迭代a
次
然后,对于密码中的每一个v
单词,您必须通过字典中的d
单词
忽略压缩和其他因素,在单词之间循环会产生
O(A*v*d)
,如果A==26
,O(v*d)
。然而,复杂性基本上取决于字典算法的工作方式-O(is_Sequence\u valid)==O(cipher\u solver)
如果它确实是一个Caesar密码,则只有25种可能的解密;所有这些都做,然后在字典中查找单词。caesercypher可以有随机移位,而不仅仅是基于mod的。