https://msdn.microsoft.com/en-us/library/dd412070(v=vs.110).aspxのドキュメントを見ると、私は方法がありません。理想的にはSortedSet<int>
のの中央値(中央の要素または両方の中央の合計)を見つけることができるようにしたいと思います(明らかに、リストまたは配列に変換してO(n)
時間に実行できます)。簡単な質問:SortedSet <T>には、中央値要素を簡単に見つける方法がありますか?
0
A
答えて
3
残念ながら、あなたは正しいです。 SortedSet
は、中央値を取得するための組み込みの方法を提供していません。 SortedSet
の基礎となるデータ構造が赤黒のツリーであるためです。 (例:WikipediaのRed-black treeを参照してください)
他の種類のコレクションを使用することは可能ですか、それともSortedSetでなければなりませんか?そうでない場合は、リストまたは配列に変換し、インデックスlength+1/2
の要素に奇数値length
、または要素length/2
およびlength/2 - 1
の平均値にアクセスしてO(1)時間の中央値を取得することをお勧めします。
関連する問題
- 1. にXMLを解析して必要な要素を見つける簡単な方法はありますか?
- 2. Rubyに見つからないエンドを簡単に見つける方法はありますか?
- 3. Makefileに関する簡単な質問
- 4. jQueryに関する簡単な質問
- 5. 質問は簡単です
- 6. 簡単な質問表
- 7. 簡単なデータバインディングの質問
- 8. 簡単な質問(ExtJS、Sencha、...)
- 9. OOスタイル - 簡単な質問
- 10. 簡単な質問3
- 11. 簡単なアセンブリの質問
- 12. Androidマルチメディアサービス - 簡単な質問
- 13. 簡単な質問cluster.fork
- 14. Rails 3.1簡単な質問
- 15. Ajaxの簡単な質問
- 16. OpenMPの簡単な質問
- 17. Wordpressの簡単な質問
- 18. SQL Server:簡単な質問
- 19. CompositeC1の簡単な質問
- 20. 簡単なjQuery質問 - 無しの値
- 21. ASP.net c#簡単な質問パラメータ質問
- 22. std :: vector <double>を簡単に/簡単に*プロットする方法はありますか?
- 23. 親なしのストーリーを簡単に見つける方法
- 24. Sharepoint 2010.簡単な質問はありません
- 25. レールでビューファイルを簡単に見つける方法は?
- 26. Componentのソースを簡単に見つける方法は?
- 27. は簡単なjQueryの問題を助ける必要があります
- 28. VHDLプロセス - ハード - 簡単な質問、 に
- 29. 簡単な質問。私の "While"ループに問題があります
- 30. Readlineに代わる簡単な方法はありますか?
ただし、赤黒のツリーを修正して各ノードの総アイテム数を追跡することができ、その数が分かっていれば、O(log(n))のインデックスで要素にアクセスするのに十分な情報です)時間。 'SortedSet'はこれをしませんが、カスタム実装はOPに適しています。 – hvd