gpt4 book ai didi

scala - 在 Scala 中有效选择随机元素的适当集合类型

转载 作者:行者123 更新时间:2023-12-04 06:06:30 25 4
gpt4 key购买 nike

对于我正在处理的项目,我需要跟踪多达数千个对象。我选择的集合需要支持随机元素的插入、选择和删除。我的算法会多次执行这些操作中的每一个,所以我想要一个可以在恒定时间内完成所有这些操作的集合。

有这样的合集吗?如果不是,与现有集合有哪些权衡?我正在使用 Scala 2.9.1。

编辑:通过“随机”,我的意思是数学上/概率上的随机,即,我想使用 Random 或其他一些适当的生成器从集合中随机选择元素。

最佳答案

定义“随机”。如果你的意思是索引,那么就没有这样的集合。如果您放弃“随机元素”要求,您可以在恒定时间内插入/删除 - 即,您对将被删除或将成为插入点的元素进行了非恒定查找。或者您可以在不经常插入/删除的情况下进行持续查找。

最接近该要求的集合是 Vector ,提供 O(log n)对于这些操作。

另一方面,如果您有要查找或删除的元素,则只需选择 HashMap .这不是完全恒定的时间,但它是一个公平的近似值。只要确保你有一个好的散列函数。

关于scala - 在 Scala 中有效选择随机元素的适当集合类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8293175/

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