2017-02-27 8 views
-1

「ユニークユーザー数」があります。データ構造を提案する

「w」個の異なるウェブページがあり、「p」個の製品があります。

現在のユーザーと現在のWebページに基づいて、そのユーザーのページに適切な製品を宣伝したいと考えています。

どのデータ構造がこの要件に適しているか。

私は約

HashMap (User,HashMap(WebPage,Product))

それとも

HashMap(WebPage,HashMap(User,Product))外のHashMapのためのキーである必要があり、オブジェクト

を考えています。

ユーザー、ウェブページのサイズはここに影響しますか?

この状況に適したデータ構造はありますか?

ありがとうございます

+0

「Map 、Set >」のように聞こえてきます。他の質問に関しては、このマップを照会する順序は重要ではないでしょう。なぜなら、常にユーザーとWebPageの2回を問合せる必要があるからです。相対的なパフォーマンスは、ユーザーとページのハッシュ衝突の数に依存します。全体的に私はこれが主観的であるか、または教育上の決定を下すのに十分な情報を提供していないことが予想されます。 –

+0

マップ<ペア<ユーザー、Webページ>、セット> Pair を使用すると、u * wキーが表示されます。それは非常に巨大です。 HashMapのパフォーマンスに影響はありますか? – Krishna

+0

いくつかの情報が欠落していませんか?ユーザー、ページ、および製品間の関係と同様?どの製品がユーザーに表示するのが適切であるかをどのように知っていますか?製品がWebページに適しているかどうかはどのように分かりますか?あなたは私たちに推奨を提供するのに十分な情報を与えていません。 –

答えて

1

私はこのようなものを使うべきだと思います。 User+WebPageユーザ&ページフィールド、又はユーザ&ページの組み合わせのためのいくつかの他の一意の識別子を持つオブジェクトであることができる

HashMap(User+WebPage,List<Product>)

+0

User + WebPageをキーとして、Productを値として使用しているとします。次に、HashMapにu * wキーがあるはずです。膨大な数の(キー、値)ペアを格納すると、HashMapのパフォーマンスが低下します。 – Krishna

+0

ユーザー数とWebページ数がnの場合、HashMap(User + WebPage、Product)を取ると、n * n個のキー値ペアが必要です。 – Krishna

+0

@Krishna LOLあなたは正しいです、申し訳ありません。しかし、問題は、あなたはHashMapのパフォーマンスを低下させることはできません、それがどのように実装されているか分かりませんか?複雑さは常に1です –

関連する問題