应该有效地确定列表中的元素

时间:2012-11-20 04:51:34

标签: java android algorithm

我正在Android上制作聊天室应用程序。在应用程序中,每5秒钟,它会向服务器发送一个连接用户列表的请求,并将它们作为Button放入面板。如何有效地确定用户是否已断开连接(如果应从列表中删除)?

try1:

  

有2个列表,一个存储当前的在线列表间隔,两个存储下一个在线列表的间隔。然后比较.... O(n ^ 2)比较和2n记忆;

试试2:

  

有1个列表,每个间隔删除面板中的所有Button,并在每个间隔重新创建它们。

他们似乎都是一个丑陋的解决方案。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

如果对两个列表进行排序,我们可以在O(n)时间内对它们进行比较。因此,我建议您先对列表进行排序(在O(nlogn)时间内),然后再进行比较。希望服务器按顺序返回列表(可能在用户登录时),你可以只进行比较而不进行排序。