计算String的字符时,countElements函数的运行时复杂度是多少?

该文档说:

如果T.Index为RandomAccessIndexType,则为O(1);否则为0。否则为O(N)。

什么是RandomAccessIndexType? String是RandomAccessIndexType吗?

最佳答案

根据文档:

可以偏移任意数量的位置并且可以测量到任何可达值的距离的索引,以O(1)表示

Swift字符串(不幸的是)没有实现它。他们改用BidirectionalIndexType代替,它基本上使字符串成为双向链接列表,这意味着为了从n位置到达m位置的字符,它会在它们之间的所有元素中导航。结果,字符串的countElements函数的复杂度为O(n)

关于ios - 如果T.Index为RandomAccessIndexType,则countElements的运行时复杂度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26704682/

10-13 03:35