作者:欣欣然人人宇 | 来源:互联网 | 2022-11-30 15:34
last
scala中List 的方法的时间复杂度是多少?
scala> var list = List(1,2,3,4,5)
list: List[Int] = List(1, 2, 3, 4, 5)
scala> list.last
res0: Int = 5
scala是否遍历所有列表以获取最后一个元素(O(n))或者List是否有指向最后一个元素(O(1))的指针?
1> 小智..:
看源头是O(n)
override /*TraversableLike*/
def last: A = {
if (isEmpty) throw new NoSuchElementException
var these = this
var nx = these.tail
while (!nx.isEmpty) {
these = nx
nx = nx.tail
}
these.head
}