我一直在尝试在字符串中执行子字符串模式搜索。我对String.Contains方法的时间复杂性感到好奇。我尝试对Google进行了解,最了解的是String.Contains()
内部调用String.IndexOf()
方法,然后该方法通过System.Globalization.CompareInfo
进行模式匹配。我仍然不清楚它的时间复杂性。有一些算法,例如KMP,几乎可以在线性时间内执行模式匹配。但是我仍然不确定C#会花多少钱。
我遵循了这个question,尽管它提到匹配过程令人印象深刻,但是没有提到匹配过程的成本。