0

Android でチャット ルーム アプリケーションを作成しています。アプリケーションでは、5 秒ごとに、接続されているユーザーのリストを取得するためにサーバーに要求を送信し、それらをButtons としてパネルに配置します。ユーザーが切断されているかどうか (リストから削除する必要がある場合) を効率的に判断するにはどうすればよいですか?

試行 1:

2 つのリストがあり、1 つはオンライン リストの現在の間隔を保存し、2 つはオンライン リストの次の間隔を保存します。次に、比較します.... O(n^2) の比較と 2n のメモリ。

試行 2:

1 つのリストButtonを作成し、間隔ごとにパネル内のすべてを削除し、間隔ごとに再作成します。

どちらも醜い解決策のようです。何かアドバイス?

4

1 に答える 1

2

2 つのリストを並べ替えると、O(n) 時間で比較できます。したがって、最初に (O(nlogn) 時間で) リストをソートし、後で比較することをお勧めします。うまくいけば、サーバーはリストを順番に (おそらくユーザーがログオンするまでに) 返します。ソートせずに比較することができます。

于 2012-11-20T05:59:11.153 に答える