2017-02-21 12 views
0

プリミティブデータ型を格納および検索する最良の方法は何ですか?時間制約とメモリ制約の両方に取り組むことができるデータ構造?私はこれらの事柄について明確な知識を得ることができるウェブサイト/書籍からですか?時間およびメモリ制約のデータ構造

+0

具体的なことができますか?例えばあなたは少なくともメモリの高速検索で検索目的のための 'int'のセットを格納するデータ構造を探していますか? –

+0

ああ、サビルカン。 HackerEarthでは、私が開発したコードは実行に多くの時間がかかり、指定された時間とメモリの制約を超えています。 –

答えて

0

アダム・ドロツデック第二版では、この本にJavaで

データ構造とアルゴリズムを試してみてくださいそれは私をたくさん助けたし、それがメモリ管理データ圧縮に役立ち、役立ちますデータ構造とアルゴリズムの深い知識を持っています。

データ構造内のものとしてメモリ制約を取得するには、(動的プログラミング)を使用してメモリを節約します。動的メモリ割り当てを使用しないでください。

0

あなたがデータ構造から要素を削除する要素とを追加周りの柔軟性を犠牲にする準備ができている場合は、ソートint[]あなたは限りメモリ効率が懸念しているようだ最善の策です。

アレイはソートされているので、バイナリ検索を実行できます。

この配列のあなたの最初の負荷が数百万int型になるだろう以降のみ数百int型を追加する機会があるならば、あなたはこれらの追加の一時保留にArrayListのような他のデータ構造でint[]を補完し、その後ArrayListをマージすることができますサイズが大きくなるとint[]になります。

削除は、この要素をかなり小さい未使用の負の数で設定することで処理できますが、非常にきれいな解決策ではありません。または、削除が稀である場合は、補足的なデータ構造によって削除を再度処理できます。

特定のシナリオでは、すべてのトレードオフがあります。すべての状況に最適なものはありません。

希望すると助かります!

関連する問題