![]() |
|||||||||||||||
(1)計算量の種類 計算量(complexity)には,以下の2種類があります。 ■時間計算量(time complexity) 実行に要する時間の評価 ■領域計算量(space complexity) どのくらいの記憶域が必要かを評価 一般には,両者のバランスに配慮して,アルゴリズムを選択します。 (2)線形探索法の時間計算量 要素数をNとすると線形探索の各ステップの実行回数は,
となります。 実行回数がNに比例するとき, O(N) と記述します。 これを「Nのオーダ(order)」または 「オーダN(Order N)」等 といい,大雑把な計算量を示します。 単に比例するかどうかを示す量ですから, 2Nに比例しても,N/2に比例しても,O(N)とします。 オーダでは,次の関係式が成立します。 O( f ( N )) + O( g ( N ))=O( max( f ( N ), g ( N ))) すなわち,計算量はより大きい方の計算量に支配されます。 したがって,線形探索の計算量は,以下のようになります。 O(1) + O(N) + O(N) + O(1) + O(N) + O(1) = O(N) (3)2分探索法の時間計算量
実行回数=log N,実行回数=(log N)/2の 両者ともにlog Nに比例する計算回数であるため O(log N) となります。 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 上のタイトルをクリックします |
|||||||||||||||