scala - scala中列表的滑动和分组函数的时间复杂度是多少
问题描述
我在列表上使用 scala 的滑动功能,钻取后,它给出了 GroupedIterator。
我在徘徊,功能滑动和分组的时间复杂度是多少?
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)
因为它接触每个元素的次数是一个常数。它不止一次接触元素的事实不会影响复杂性。
推荐阅读
- python - 从新流程的消费者类外部使用 Django 频道发送消息
- java - MoSKito monitor:如何收集响应状态码?
- macos - 继续垂直滚动时禁用水平滚动
- python - 在 python 上使用 Geopandas 创建交互式地图
- angular - 如何通过 observables 从后端接收多个值
- highcharts - Highcharts 折叠/展开瀑布
- facebook - 将“X-Frame-Options”删除为“拒绝”
- javascript - nuxt-Gmap 多个信息窗口
- flutter - Flutter OutlinedButton:设置禁用颜色
- docker - Gitlab Runner and docker/docker-compose passing stored gitlab variables