Javaでカスタムソートアルゴリズム?

光:

やあみんな、私は私がリストを並べ替えることができます小さなJavaプログラムを書きたいので。このように、リストのルックスを想像:りんご、グレープフルーツ、バナナ、パイナップル、ココナッツ

:ソートされたリストは、次のようになりますので、今私は、に並べ替えアルファベット順またはそのような何かが、例えば、最も好きなフルーツIによるたくないココナッツ、バナナ、リンゴ、パイナップル、グレープフルーツ

私の考えでは、これまで、それはちょっとそのように行くことができるということであった:りんごは、リストに書かれています。そして、グレープフルーツやりんごが比較され、ユーザーはグレープフルーツがリンゴの下に移動するので、彼はより多くの(ここではリンゴを)好きなものを言います。そして、それは、例えばリンゴとバナナを比較し、ユーザーはそれがりんご以上になると、多くの時間を節約するもうグレープフルーツと比較する必要があるdoes notのように、彼はより多くのバナナが好きなプログラムに指示します。少数の質問をすることで時間を節約することは多くの時間を節約しますので、プログラムが終了して数百エントリとcomparisionsを処理する必要があります。私は正しい軌道に乗っていますか?また、何が入力するための最良の方法のリスト、配列、ArrayListを、または...でしょうか?

これはどのように実装すべきですか?ソートアルゴリズムフィッティングはありますか?前もって感謝します!

アンドレアス:

あなたは、バイナリ検索ツリーを構築する必要があります。

新しい果物を挿入しているとして、あなたは新しいフルーツのノードを挿入する場所を、彼らは最高のように、見つけるためにユーザーに尋ねます。質問の数を抑えるために、バランスのとれたツリーを保ちます。

「好みの木」が構築されていたら、それぞれの果実に増分「プリファレンス値」を割り当て、深さ優先ツリーを反復処理することができ、かつ構築Map<String, Integer>すばやく別名ソート、シーケンス番号を任意の果物のプリファレンス値を検索することができますので、。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=282712&siteId=1