私は100万のデータオブジェクトを持っており、これらを整理してどのオブジェクトが最も多く繰り返されているかを数え、ハッシュテーブルを使ってリストする必要があります。100万データのC++ハッシュテーブル
-1
A
答えて
1
すべての操作を繰り返します。ここでは、データ構造のカップルとその長所/短所は次のとおりです。
ベクトル
長所:迅速なインデックスで要素にアクセスします。それはO(1)時間に行われます。
短所:挿入されたオブジェクトの後ろに配置されたすべてのオブジェクトを移動する必要があるため、挿入が実際に遅くなります。これはO(n)時間に行われます。データが後ろに押し込まれても、O(1)で実行されるメモリを再割り当てする必要があるため、ベクトルの挿入は遅くなりますが、この場合は定数がかなり大きくなります。リスト
pros:データを挿入する場所に関係なく、リストは非常に高速です。それはO(1)時間に行われます。
短所:データにアクセスするのに必要な時間は、次の要素がポインタによってアクセスされるときに線形であるため、目的の値に達するまですべてをループする必要があります。これはO(n)で行われます。- マップと順序付けられていないマップ
pros:それらは要素にアクセスするためにハッシュテーブルを使用するため、アクセス時間はO(1)とO(n)の間で異なります。 短所:再ハッシュする必要があるかもしれませんが、かなり遅いです。
要素にかなりアクセスしているので、ベクターを使用する方が速くなる場合があります。より良いデータ構造を提案できるように、アルゴリズムを教えてください。
もしそうでなければ、Mark Allen WeissがC++のデータ構造とアルゴリズム解析を読むことをお勧めします。あなたが探しているものの完全なガイドを提供します。
関連する問題
- 1. 100万アイテムのハッシュテーブルと100アイテムのハッシュテーブルのパフォーマンスはどのように異なるのですか
- 2. Java SQL 100万行
- 3. Angular SPAの100万ページ
- 4. JavaFX 3D for> 100万ボックスオブジェクト
- 5. データベースに100万データを挿入する方法
- 6. サンプルデータを100万行作成する
- 7. JqGridで100万レコードを表示
- 8. mysqlに100万レコードを挿入する
- 9. ハッシュテーブルの「プロパティ」C#
- 10. ハッシュテーブル(データ構造)
- 11. リモート・サーバーのOracleデータに100万レコードを集約する効率的な方法
- 12. ハッシュテーブルC++で?
- 13. C#ハッシュテーブル検索
- 14. Cの汎用ハッシュテーブル
- 15. 1から100万のCで合計を見つける方法は?
- 16. 大きなデータ(約100万行)をqlikセンスで置き換える方法forlloop
- 17. 特殊なハッシュテーブルC++
- 18. C++の文字列のハッシュテーブル
- 19. C#.NET 1.1のハッシュテーブルのキーとデータを出力する
- 20. ハッシュテーブルへの結合/マージC#
- 21. Druid/Cassandraのデータベースに100万行+秒を挿入する
- 22. Pyodbcが100万行以上のテーブルで遅い
- 23. MySQLのソリューションは1日あたり100万クリックです
- 24. Google Cloud Storageで100万個のファイルを連結する方法
- 25. jqueryでNaNを与える100万の値CounterUp
- 26. Linux:100万ファイルをプレフィックスベースの作成済みフォルダに移動
- 27. Python:最大100万桁の正弦/余弦を計算する
- 28. C#メモリキャッシュで1300万行のデータが見つかりません
- 29. 数字を1から100万まで印刷
- 30. コレクションに100万行を保存し、アクター内で更新する
代わりにベクトルを使用しますか? –
データとは何ですか?整数、文字列、複雑な構造ですか?このデータをどのように使用しますか?そして、そうでなければ選択する理由がない限り、構造のデフォルト選択は 'vector'でなければなりません。 –
'std :: map'を使って、ユニークなデータムと繰り返しのカウンタを含めることができます。 –