我有一个数组,我经常(并且有效地随机)添加和删除元素。是否有一种算法来跟踪数组的最高占用索引?
现在我能想到的最好的是:
这应该有效,但它不是特别优雅,所以我想知道是否有人知道更清洁的解决方案
答案 0 :(得分:0)
这在很大程度上取决于阵列的密度。
对于一个至少中等密度的阵列,你的解决方案很好,因为下一个项目不会太远。
对于非常稀疏的数组,索引的二级数据结构可能是一个好主意(例如max heap)。
你坚持使用阵列吗?您应该始终考虑检查您选择的数据结构。从这里开始,很难说出什么是最好的,因为我对你要解决的问题知之甚少。
或者您可以考虑稍微复杂一点的解决方案: