Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#Linq选择了许多复杂度_C#_Linq_Code Complexity - Fatal编程技术网

C#Linq选择了许多复杂度

C#Linq选择了许多复杂度,c#,linq,code-complexity,C#,Linq,Code Complexity,Linq的复杂度是多少 我正在寻找预测运行时效率的方法 我查阅了微软文档和其他一些资料来源 在复杂度方面,我认为O(N^2)是没有意义的,因为可能会更有效地尝试将N个内存块复制到一个新连接的内存块 我预测其复杂性为O(N) 你能给我指出SelectMany的complexityclass被明确命名的参考文献吗,或者给我一些提示为什么复杂性是O(N^2) 感谢您的帮助,饼干是最好的答案。 谢谢它在一系列集合上运行。这怎么不是O(n²)?这在某种程度上取决于n是什么,因为您所说的序列包含子序列,其中

Linq的复杂度是多少

我正在寻找预测运行时效率的方法

我查阅了微软文档和其他一些资料来源

在复杂度方面,我认为O(N^2)是没有意义的,因为可能会更有效地尝试将N个内存块复制到一个新连接的内存块

我预测其复杂性为O(N)

你能给我指出SelectMany的complexityclass被明确命名的参考文献吗,或者给我一些提示为什么复杂性是O(N^2)

感谢您的帮助,饼干是最好的答案。
谢谢

它在一系列集合上运行。这怎么不是O(n²)?这在某种程度上取决于
n
是什么,因为您所说的序列包含子序列,其中每个子序列可能具有不同的长度。我天真地说它是
O(n+∑m)ₜ)
,其中
n
是顶级序列的长度,
是∑mₜ
是子序列长度的总和。如果每个子序列也有长度
n
,那么这就变成
O(n+n²)=O(n²)
,我会假设,“如果每个子序列也有长度
n
”,但是它们是相关的吗?它不是更接近
O(m*n)
其中
m=n
可能是真的,但不一定是真的。@Caramiriel每个子序列可能确实有完全不同的长度,这是我在评论的第一部分中讨论过的。我试图解释OP在哪里可能遇到
O(n²)
。如果每个子序列都有长度
m
,那么是的,
∑mₜ
n*m
,所以我想它是
O(n+n*m)=O(n*m)