scala中列表的滑动函数和分组函数的时间复杂度是多少

scala中列表的滑动函数和分组函数的时间复杂度是多少,scala,scala-collections,Scala,Scala Collections,我在一个列表上使用scala的滑动函数,钻取后,它给出了GroupEditor 我在徘徊,功能滑动和分组的时间复杂性是什么 val list = (1 to 10).toList list.iterator.grouped(3).foreach(println(_)) list.grouped(11).foreach(println(_)) val st = (1 to 7).iterator.grouped(3).withPartial(false).toList st list.slidi

我在一个列表上使用scala的滑动函数,钻取后,它给出了GroupEditor

我在徘徊,功能滑动和分组的时间复杂性是什么

val list = (1 to 10).toList

list.iterator.grouped(3).foreach(println(_))
list.grouped(11).foreach(println(_))
val st = (1 to 7).iterator.grouped(3).withPartial(false).toList
st
list.sliding(3).foreach(println(_))
list.sliding(11).foreach(println(_))


list.sliding(3,2).foreach(println(_))
list.sliding(11,2).foreach(println(_))

似乎分组取O(n)和滑动取O(n*n)。

它们都是
O(n)

分组显然是
O(n)
,因为它只接触每个元素一次

滑动也是O(n),因为它接触每个元素的次数是一个常数。它多次接触元素的事实并不影响复杂性。

它们都是
O(n)

分组显然是
O(n)
,因为它只接触每个元素一次


滑动也是O(n),因为它接触每个元素的次数是一个常数。它多次接触元素的事实并不影响复杂性。

您是从中获得这些复杂性值的吗?这些函数的时间复杂性到底是什么意思?我很确定它们是O(1),因为它们返回了一个
迭代器
@Jasper-m。你能解释一下它是怎样的O(1),因为迭代器在内部使用hasNext()、next()和while循环遍历列表。因为迭代器是懒惰的。调用
滑动
可以在恒定时间内返回迭代器。您是从中获取这些复杂度值的吗?这些函数的时间复杂度到底是什么意思?我很确定它们是O(1),因为它们返回了一个
迭代器
@Jasper-m。你能解释一下它是怎样的O(1),因为迭代器在内部使用hasNext()、next()和while循环遍历列表。因为迭代器是懒惰的。调用滑动
可以在固定时间内返回迭代器。