私はかなりの量のデータを保持する64個の構造体の配列を持っています(構造体は約128バイトなので、再編成する必要があります)。配列は、各構造体の単一の符号なしバイトに基づいてソートされる必要があります。私のデータの興味深い特性は、ソートされた値の複製が多数存在する可能性が高いことです。つまり、すべての重複を取り除くと、配列は10個のユニークな要素にすぎませんが、これは指定されていません。私はソートされた値になってしまった場合はそう :一度ソートバイト比較で構造体をソートするための最適なソートアルゴリズム?
、私はそれぞれのユニークなバイトの実行が開始されることサイズと種類を格納し、スタックを作成する必要があり 4,4,4,9,9,9、 9,9,14,14 スタックは次のようになります。 (4,3)、(9,5)、(14,2)
私はこれらの条件で実行できる最適化がいくつかあると考えました。私がheapsortを行うと、ソート中にスタックを作成できますが、これはqsortより速く、後でスタックを構築しますか?私が使用している大きな構造体のため、ソートアルゴリズムが遅くなるでしょうか?私はバイトを比較しているだけなので、私ができる最適化は何ですか?ところで
:言語はC++
おかげです。
スタックに何を使用しますか、自家製または内蔵ですか? – Skurmedel
私はそれが固定バッファを使用する単純な手作りのものと思うので、私は最も速いが欲しいです。 – Pubby
実際にソートするか、サイズとタイプを格納する「スタック」が必要ですか? – ThomasMcLeod