gpt4 book ai didi

scala - 为什么在 ArrayBuffer 上调用 "tail"需要线性时间?

转载 作者:行者123 更新时间:2023-12-05 01:03:36 24 4
gpt4 key购买 nike

支票:http://www.scala-lang.org/docu/files/collections-api/collections_40.html

它说 ArrayBuffer 在请求尾部时需要线性时间。但是,附加时要快得多

我的理解是 ArrayBuffer 只是一个动态数组。

为什么追加是摊销常数时间,但获得最后一个元素需要线性时间?

最佳答案

tail不是最后一个元素,它是第一个元素之外的所有元素。你要last .

Seq('a', 'b', 'c').head  // 'a'
Seq('a', 'b', 'c').tail // Seq('b', 'c')
Seq('a', 'b', 'c').init // Seq('a', 'b')
Seq('a', 'b', 'c').last // 'c'

关于scala - 为什么在 ArrayBuffer 上调用 "tail"需要线性时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24477094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com