与旅行商问题类似?带输出的水浸控制台?

时间:2011-01-19 13:29:37

标签: time big-o

免责声明这是针对我的某个课程以及可能是个人使用的加密程序。但是我没有被评分。

我已经破解了这段代码,它是一个随机的caeser密码。 Q PC JI UQTGF TQBMU SIX。 XMGS QJ UMQJ IKGT?

现在用计算字典来解决这个问题并不像旅行商问题那么类似吗?对于最坏的情况,O(n!)。此外,由于计算机无法知道某些内容是否正确,我是否不得不吐出每个结束排列以供审阅?或者我应该为人类审查设置一些下限?像至少40%的匹配?

1 个答案:

答案 0 :(得分:0)

Caesar Ciphers只是简单地用字母代替字母并将其替换为s位置向下移动的字母。

所以: 对于字母表中的每个字母a

您迭代a次。

然后,对于密码中的每个v字词,您必须翻阅字典中的d个字词。

通过单词循环,忽略压缩和诸如此类的东西,会产生O(a*v*d)的复杂性,如果a==26O(v*d)。但是,复杂性基本上取决于您的字典算法如何工作 - O( is_sentence_valid) == O(cipher_solver)