字符串的运行时间.拆分方法
本文关键字:方法 拆分 运行时间 字符串 | 更新日期: 2023-09-27 18:21:50
根据对此的响应,我很想知道String.Splitt()的运行时间是多少
string source = "source string;this,"; //length n
string[] splitted = source.Split(' ',',',';'); //delimiter array of length m
是O(m*n)吗?
根据这个线程,它是O(N):
在内部,它使用2次通过的例程。在第一步中,将发现并存储分隔符的索引。在第二遍中,字符串是"0";"分割";通过重复调用Substring并使用先前保存的索引将结果存储在输出数组中。
因此,该算法实际上是O(N),因为它对输入字符串进行线性传递。
注意:上面声明的作者似乎是SO用户——也许他可以帮助提供更详细的答案
如果您想自己检查源,请下载工具,如ILSpy,参考mscorlib
并搜索Split
实现。