0

配列について質問があります。たとえば、配列のサイズが 5 になることがわかっている場合、プログラムは

[9993, 1000, 9992, 3, 872] 

配列に、配列の内容を効率的に編集して、次のようにするにはどうすればよいですか

[5, 3, 4, 1, 2]

O(n^2) で実行される二重の for ループしか実装できません。より良いアルゴリズムが見つかることを願っています。

ヒントはありますか?前もって感謝します!

4

2 に答える 2

0

これが機能するには、1 種類のソート アルゴリズムを使用する必要があるため、取得できる最適な実行時間は O(n logn) です。検索すると、オンラインで見つけることができる並べ替えアルゴリズムがたくさんあります。初心者に学習することをお勧めする最速のものは、クイックソート、マージソート、およびヒープソートです。

于 2013-09-21T17:40:49.700 に答える