Computer science 在特定时间后,仅更新数组中特定项的最佳方法是什么?

Computer science 在特定时间后,仅更新数组中特定项的最佳方法是什么?,computer-science,abstraction,Computer Science,Abstraction,我想问的是,最好的办法是在一段时间后更新一组数据 我有一个对象数组,每个对象都有自己的时间戳和其他变量。例如,在5分钟内,其中一个对象的变量必须自动更改,而对于另一个项目,则可能需要8分钟,以此类推 我目前的解决方案是有一个计时器,它每15秒运行一次函数,将数组中每个对象的时间戳与当前时间戳进行比较,但这并不是很有效,尤其是当数组变大时 我不关心编程细节,但如何实现这一点的抽象想法是什么?您可以使用HashMap来存储对象,使用对象时间戳作为键。这将允许您以O(1)时间复杂度访问对象。使用优先级

我想问的是,最好的办法是在一段时间后更新一组数据

我有一个对象数组,每个对象都有自己的时间戳和其他变量。例如,在5分钟内,其中一个对象的变量必须自动更改,而对于另一个项目,则可能需要8分钟,以此类推

我目前的解决方案是有一个计时器,它每15秒运行一次函数,将数组中每个对象的时间戳与当前时间戳进行比较,但这并不是很有效,尤其是当数组变大时


我不关心编程细节,但如何实现这一点的抽象想法是什么?

您可以使用HashMap来存储对象,使用对象时间戳作为键。这将允许您以O(1)时间复杂度访问对象。

使用优先级队列。每个项目的优先级是其下一次更新到期的时钟时间。现在是O(log(N))从队列中删除下一个项目的时间,以及O(log(N))在下一个到期时间重新插入该项目的时间。

这似乎非常广泛,因为没有任何好的答案。哪种语言?您如何确定每一项都必须更改的时间?你事先知道哪些会改变吗?最重要的是,什么决定了哪一个是“最好的”?“我不关心编程细节”——StackOverflow要求帖子尽可能具体,所以我不确定这个问题是否真的适合这个网站。