python - 流数据的最优数据结构
问题描述
我有一个形式的数据流[id, name, act, value, type]
。
id
是一个整数,name
一个字符串,act
可以是'add','update'或'delete',value
是一个整数,type
要么是L
要么R
。我们只能添加一次id
,执行多次更新,然后删除id
。我显然在寻找一种数据结构,可以让我有效地插入这些数据。
我还需要能够以最快的方式在每一刻获得最高L
价值name
和最低R
价值。name
我相信我需要使用堆来获得恒定的时间min
和max
值name
。我的问题是我无法找到一种方法来同时删除和更新现有数据。
解决方案
这里的措辞有点不清楚。让我试着改写一下:您正在寻找一个好的数据结构,这样,给定上面给出的形式的操作流,您可以添加、删除或更新项目(使用它们的 id 号找到)。而且您还想维护一些关于整个数据结构的汇总统计信息,例如最高 L 和最低 R 值。
这听起来正确吗?
如果您的 id 号码不在特定范围内,字典的字典听起来可能是正确的答案,或者如果是字典列表,则它可能是正确的答案。
推荐阅读
- javascript - 检测滚动到 dom 元素
- javascript - Openlayers 5 - 如何更新地图?
- android - WheelView-Luke Deighton
- sql - SQL Server: join rows into one line without subquery
- java - 在java中获取html的DOM
- javascript - 将变量动态分配给对象属性
- kubernetes - 公开 DaemonSet 服务以供同一节点上的 pod 使用
- python - 被分类和绘制的数据点数与数据集中的点数不匹配
- python - django python DateTimeField 不同于管理员输入和数据库
- nosql - 现在结束的 Druid HTTP 查询间隔