Time 类似于旅行推销员的问题?用输出淹没控制台?

Time 类似于旅行推销员的问题?用输出淹没控制台?,time,big-o,Time,Big O,免责声明这是针对我的一个班级的加密程序,可能是个人使用的。然而,我没有被评分 我已经破解了这个密码,这是一个随机密码。 Q PC JI UQTGF TQMU六台。XMGS QJ UMQJ IKGT 现在用字典来计算这个问题,不是和旅行推销员的问题很相似吗?O(n!)表示最坏情况。而且,既然计算机无法知道某件事是否正确,我不是必须把每一个结尾的排列都吐出来供审查吗?或者我应该为人类的审查设定一些下限?像至少40%的匹配吗?凯撒密码就是简单地将字母取下来,并将其替换为向下移动的字母 因此: 对于字母

免责声明这是针对我的一个班级的加密程序,可能是个人使用的。然而,我没有被评分

我已经破解了这个密码,这是一个随机密码。 Q PC JI UQTGF TQMU六台。XMGS QJ UMQJ IKGT


现在用字典来计算这个问题,不是和旅行推销员的问题很相似吗?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的。