用于计算笛卡尔积的线性时间算法

时间:2013-02-26 00:15:51

标签: python algorithm cartesian-product

我在接受采访时被要求提出一个笛卡尔积的线性时间解决方案。我做了迭代方式O(mn)和递归解决方案,也是O(mn)。但我无法进一步降低复杂性。有没有人对如何改善这种复杂性有所了解?任何人都可以提出有效的递归方法吗?

2 个答案:

答案 0 :(得分:4)

mn个结果;您需要做的最少工作是将每个结果写入输出。所以你不能比O(mn)做得更好。

答案 1 :(得分:0)

我想到的这个问题是,"线性关于什么?"请记住,在数学中,必须定义所有变量才有意义。 Big-O表示法也不例外。如果没有定义n,简单地说算法是O(n)是没有意义的。

假设这个问题很有意义,而不是错误,我的猜测是他们希望你要求澄清。另一种可能性是,他们希望看到在遇到不可能的情况时你会如何回应。