计算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/