0

いくつかのプロパティを含む表がありitemsますが、簡潔にするために、プロパティがありますprice

List<Item>aを価格帯のグループにグループ化したい。問題は、価格帯 (上限など) を動的に生成する必要があることです。

天井が静的な場合、問題なく動作します (LINQ を使用)

decimal[] ceilings = new decimal[] { 0, 10M, 100M, 500M, 5000M, 50000M };
var grouped = items.GroupBy( x => ceilings.First( y => y >= x.Price );

リストの価格に基づいてその場で天井グループを生成するための優れたアルゴリズムを探していitemsます。

私はそれを理解するのに苦労してstep sizeいます。Max()そのリストのとの違いを見つけ、Min()それを使用して上限のリストを生成するなど、頭の中にいくつかのアイデアがあります。

何か案は?

4

1 に答える 1

1

バケットソートアルゴリズムがうまくいくかもしれません。

文献に従ってください。私のメモリが正しく機能する場合、同じ数のエントリを持つバケットを作成するためのアルゴリズムがあります。そしてもちろん、N個の均一サイズのバケットの場合はいつでも(Max-Min)/Nに並べ替えることができます。

于 2010-08-17T22:31:59.227 に答える