python - python - 用于快速添加、删除和随机选择的数据结构
问题描述
我需要一个用于添加项目、删除项目和选择随机项目的数据结构。
从我读过的内容来看,我认为从列表中选择一个随机项目random.choice
需要恒定的时间。但是,从列表中删除一个项目需要 O(n) 时间。
另一方面,从集合中删除和添加项目需要 O(1) 时间,但从集合中选择随机元素random.sample
需要 O(n) 时间。
有没有办法在 O(1) 时间内支持这三个操作?
解决方案
推荐阅读
- laravel - 访问器覆盖自定义验证规则
- python - 如何修复 Foundry Nuke 运行时错误:Read1?
- node.js - SassError:复合选择器可能不再被扩展
- reactjs - 使用 yarn install 或 add 时防止包重建
- r - 将误差带添加到线性混合模型 (lme4)
- visual-studio-code - 是否可以添加快捷键来更改 Wrap 选项卡设置?
- java - 在命令行中运行与另一个 .jar 文件有依赖关系的 .jar 文件
- java - 在使用 appium 自动化应用程序时,我是否需要分别退出所有驱动程序?
- ethernet - 将以太网连接用于两个完全不同的目的
- c# - C# NPOI 列表编号获得与段落不同的样式