私は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. データベースに100万データを挿入する方法
- 4. サンプルデータを100万行作成する
- 5. JqGridで100万レコードを表示
- 6. mysqlに100万レコードを挿入する
- 7. ハッシュテーブルの「プロパティ」C#
- 8. ハッシュテーブル(データ構造)
- 9. ハッシュテーブルC++で?
- 10. Cの汎用ハッシュテーブル
- 11. 特殊なハッシュテーブルC++
- 12. C++の文字列のハッシュテーブル
- 13. C#.NET 1.1のハッシュテーブルのキーとデータを出力する
- 14. MySQLのソリューションは1日あたり100万クリックです
- 15. jqueryでNaNを与える100万の値CounterUp
- 16. Druid/Cassandraのデータベースに100万行+秒を挿入する
- 17. Linux:100万ファイルをプレフィックスベースの作成済みフォルダに移動
- 18. ハッシュテーブルへの結合/マージC#
- 19. 数字を1から100万まで印刷
- 20. javascriptで数字を100万に変換する方法
- 21. テーブルまたはpratitionsの100万レコードのクラスタ化されていないインデックス
- 22. 投稿数100万回のWordPressで、それを最適化する方法
- 23. JSONファイルで100万文字を読み込んだ場合の例外[OutOfMemoryException]
- 24. 100万レコードの配列はどこに保存すればよいですか?
- 25. ハッシュテーブルからデータを削除する
- 26. C#ListViewタイル幅100%?
- 27. C 100%cpuなしのメインループ
- 28. C++のchar [100] = "hello" を
- 29. C++でハッシュテーブルを削除する
- 30. C++でハッシュテーブルを実装する
代わりにベクトルを使用しますか? –
データとは何ですか?整数、文字列、複雑な構造ですか?このデータをどのように使用しますか?そして、そうでなければ選択する理由がない限り、構造のデフォルト選択は 'vector'でなければなりません。 –
'std :: map'を使って、ユニークなデータムと繰り返しのカウンタを含めることができます。 –