独学コンピューターサイエンティスト 第1部 第1章 を読みながら・・・
独学コンピューターサイエンティスト 第1部 アルゴリズム入門 第1章 アルゴリズムとは何か? を読みながら感じた事をタラタラとメモしただけの記事。。。
--
明確性、実行性、有限性、正確性、がアルゴリズムの肝?なんだね。
んっ、実行性の説明が??
この説明だと、例えば『通常は解決出来るけど、ある特殊な条件時には解決出来ない一連の操作。』はアルゴリズムに入らないよ?そんな事はないよね。…(たぶん😶
--
O記法(オーダー記法)の説明からの、オーダーを表す代表的な種類を、効率的なものから並べていくんだね!
あっ、P32 トップ行の太字の『O記法』が『〇記法』になってる。…(たぶん😶
--
定数時間は、乱暴に言えばノーループだね。
対数時間は、乱暴に言えば C の bsearch() アルゴリズムだね。
線形時間は、乱暴に言えば単純ループだね。
対数線形時間は、マージソートアルゴリズムをググって何となく分かった。…(たぶん😶
多項式時間 (二乗) (三乗) は、乱暴に言うと二重ループと三重ループで、多項式時間計算量の一部だね。
指数時間は、乱暴に言えばパスワードしらみ潰し戦法アルゴリズムだね。
--
領域計算量の・・・
静的領域は、乱暴に言えばマシン語(コード)領域だね。
データ構造領域は、乱暴に言えば C だとグローバル定数(変数)領域+スタック領域だね。
一時領域は、乱暴に言えば C の malloc()、 つまりヒープ領域だね。
--
合ってるかは分からないけど、第1部 第1章 をこんな風に感じながら読み終えた。。。
さあ、次の章は大好きな再帰だ。時間が出来た時にまた読もっと!