Core Concepts
リスト内の1、2、3、4、5のみを含む要素をリニアタイムでソートする効率的な方法
Abstract
この記事では、リスト内に1、2、3、4、5の整数のみが含まれている場合に、リニアタイムでリストをソートする方法について説明しています。
まず、リストの中に含まれる各整数の出現回数をカウントします。1、2、3、4、5以外の数値は含まれていないことがわかっているため、カウンターは{1:0, 2:0, 3:0, 4:0, 5:0}のように初期化できます。
次に、カウンターの値に応じて、リスト内の要素を並び替えていきます。1が0個の場合は何もせず、1が1個の場合は先頭に、2が2個の場合は先頭から2つ目までに、といった具合に並び替えていきます。これにより、リニアタイムでリストをソートできます。
Stats
リスト内の各整数の出現回数:
1: 3回
2: 2回
3: 2回
4: 3回
5: 1回