私は教授からその場アルゴリズムの定義を持っていますが、私はそれを理解していません。
In-situアルゴリズムとは、Θ(1)メモリで動作するアルゴリズムを指します。
どういう意味ですか?
私は教授からその場アルゴリズムの定義を持っていますが、私はそれを理解していません。
In-situアルゴリズムとは、Θ(1)メモリで動作するアルゴリズムを指します。
どういう意味ですか?
回答:
最初に、意味を展開しましょう。
Big およびbigΘは、関数のクラスです。そこ正式な定義だここでは、この質問の目的のために、我々は、関数と言うfがであるO (1 )定数があるかどうC、すべてのためのx、F (X )≤ Cで。つまり、fは定数関数と同じくらい速く成長します。
Big- は、定数の関数にはあまり意味がありません。なぜなら、アルゴリズムの時間またはスペースの使用量を記述するとき、定数以下はあまりないからです。しかし、それは、何を意味するのかを説明するためにfを∈ Θ (1 )いくつかの定数がある場合は、C 、dのように、そのすべてのためのx、D ≤ F (X )≤ C。つまり、fは定数関数と同じくらい速く、最大でも速く成長します。
さて、これはメモリ使用量と何の関係がありますか?あるアルゴリズム考えます。入力nが与えられると、サイズnの入力でアルゴリズムAの最大メモリ使用量を与える(数学)関数がいくつかあります。この関数をm e mと呼びましょう。
そこで、2つの概念を組み合わせます。アルゴリズムがメモリーを使用する場合、そのメモリー使用関数はΘ (1 )にあります。つまり、何らかの入力に対して、使用されるメモリーがdとcの間にあるようなd 、cが存在します。
つまり、これは、入力に関係なく、アルゴリズムのメモリ使用量が一定の範囲内にあることを意味します。
通常、メモリ関数は、アルゴリズムへの入力を保存するために使用されるメモリを考慮しません。そうしないと、メモリ使用量が常に少なくともです。
アルゴリズムの一定の空間の複雑さ
アルゴリズムが使用するメモリの量は、入力に依存しません。
アルゴリズムは、一定量のスペースを使用する場合、一定のスペースの複雑さを持つと言われています。それはすることができ変数または正確の配列10の要素。
ただし、In-situアルゴリズムは入力自体で目的の機能を実行するため、余分なスペースはほとんど必要ありません。通常、入力は、アルゴリズムの実行時に出力によって上書きされます。(参照)
In-situアルゴリズムは、入力が占めるスペースを考慮せず、スペースの複雑さを計算しながら、余分なスペースのみを考慮します。