研究概要 |
本年度は,主としてヒープソートの最悪実行時間(最悪、移動回数)とそれを実現する具体的なデータ(ここでは最悪入力と呼ぶ)の性質に関して研究を行い,以下のような結果を得た。 1.ヒープソートは,入力を1つのヒープにするヒープ生成処理とそれから出発して実際の整列を行う抽出処理の2つの処理に分かれる。ヒープソートの最悪入力は,この2つの処理を通して数えたときのデータの移動回数を最大にするような入力であるが,このような入力が,ヒーブ生成処理においてはヒープ生成処理のみを考えたときの最大移動回数を実現し,かつ,抽出処理においても抽出処理のみを考えたときの最大移動回数を実現するような入力であることを明らかにした。その結果,ヒープソートの最悪移動回数を決め,また最悪入力を具体的に求める問題が、抽出処理における対応する問題に完全に帰着することが示せた。 2.1で述べたことにより,抽出処理における最悪人力がどのようなものでありそれがどれぐらい存在するかが重要であるが,この問題に関し,抽出処理における最悪入力が、木の構造に関しある性質を持つことを示すことができた。具体的には,抽出処理における最悪入力において,整列すべき各要素が左の部分木,右の部分木,根,のいずれにあるかを考えると,ほぼ1/4ないし3/8のある特定の要素が必ず左の部分木に含まれている,という形の性質を示すことができた。この結果,抽出処理の入力であるヒープの個数に対する抽出処理の最悪人力であるヒープの個数の比率のある上限を得た。この上限から求まる抽出処理の最悪入力の個数の上限は,実際に数え上げで求めた正確な個数よりはるかに大きいが,比率に関し指数関数的な上限を求めることができたことは,それなりに意味があると考えられる。
|