【发布时间】:2017-10-21 16:47:16
【问题描述】:
要将元素插入到字典中,我会这样做
q) d[`x]:12345
这修改了现有的字典,操作成本接近O(1)或O(log N),具体取决于底层实现(哈希表或树)(我其实不知道)。
但是,要删除我必须使用的密钥:
q) d:(enlist `x) _ d
这至少是O(N),因为它复制了完整的字典而不删除O(N) 中的项目,然后由于指针而分配给O(1) 中的d。
这看起来像删除操作歧视!也许就地删除记录不充分,但存在于某个地方?
【问题讨论】:
标签: dictionary kdb