2
私はスコアでソートされたn人の選手を含むスコアボードを維持したいと思っています。 プレイヤーがxポイントを獲得したとき(彼がまだトッププレイヤーでない場合)必要ならば彼の上のプレーヤーを交換してください。そして、私は彼の上のプレーヤーがスコアよりも大きいか、リストの一番上に来るまでこれを繰り返します。 これは、O(n)の最悪の場合の時間を持つ問題です.O(log n)のような形で行うことができますか?有効時間のスコアボード?
実際には、最悪の場合には到達せず、* one-element-bubble-sort *が最善の方法です。スコアボードにデータが入力されて比較的安定していると、エントリの一般的なランキングの動きはほとんどが数か所で変化します。また、ボーナスとして:参照のローカリティはツリーやバイナリ検索よりも優れています。 – joop