Closed Eigo-Mt-Fuji closed 2 years ago
問題解決力を鍛える!アルゴリズムとデータ構造 - Kindle を読みたい
読んだ結果1つでもいいから得るもの得て整理したい
今回は、アルゴリズム計算量, アルゴリズム設計技法 全探索(線形探索), アルゴリズム設計技法 動的計画法の3つ。
アルゴリズム
計算量
時間計算量
オーダー記法
設計技法
全探索
全探索(線形探索法)
再帰
動的計画法
再帰(メモ化)
2分探索法
貪欲法
アルゴリズムの計算量を表す記法が「O(ビッグオー)記法」 アルゴリズムAの計算時間「T(N)」が「おおむねP(N)に比例する」ことを「T(N)=O(P(N))」 と表す。「O(P(N))」がアルゴリズムAの計算量にあたる。具体例で考えると、T(N)=3N^2+5N+100の場合、T(N)=O(N^2)と表す。最高次以外の項を無視して,さらに最高次の係数も無視する。計算量をオーダー記法で表す過程で定数倍や低次の項の影響を受けないようにすることは重要
全探索(線形探索) = データベースの中から特定のデータを探索する問題はありふれたものですし,日常生活においても,英単語を辞書で調べる行為などが該当大槻兼資. 問題解決力を鍛える!アルゴリズムとデータ構造 (Japanese Edition) (p.68). Kindle 版.
動的計画法 = 動的計画法(Dynamic Programming) = 与えられた問題全体を一連の部分問題に上手に分解し,各部分問題に対する解をメモ化しながら,小さな部分問題からより大きな部分問題へと順に解を求めていく手法
// 0〜2^Nまで全探査 for(int target = 0; taget < (1 << N); target++) { // target int sum = 0; for(i = 0; i < N; i++) { // ビット論理積 if (target & (1 << i)) { sum += a[i]; } } }
いい学習だった。明日もがんばる
やりたいこと
問題解決力を鍛える!アルゴリズムとデータ構造 - Kindle を読みたい
読んだ結果1つでもいいから得るもの得て整理したい
進め方
本書のねらいを確認
3点集中
今回は、アルゴリズム計算量, アルゴリズム設計技法 全探索(線形探索), アルゴリズム設計技法 動的計画法の3つ。
アルゴリズム
計算量
時間計算量
オーダー記法
設計技法
全探索
全探索(線形探索法)
再帰
動的計画法
再帰(メモ化)
2分探索法
貪欲法
まとめると
アルゴリズムの計算量を表す記法が「O(ビッグオー)記法」 アルゴリズムAの計算時間「T(N)」が「おおむねP(N)に比例する」ことを「T(N)=O(P(N))」 と表す。「O(P(N))」がアルゴリズムAの計算量にあたる。具体例で考えると、T(N)=3N^2+5N+100の場合、T(N)=O(N^2)と表す。最高次以外の項を無視して,さらに最高次の係数も無視する。計算量をオーダー記法で表す過程で定数倍や低次の項の影響を受けないようにすることは重要
全探索(線形探索) = データベースの中から特定のデータを探索する問題はありふれたものですし,日常生活においても,英単語を辞書で調べる行為などが該当大槻兼資. 問題解決力を鍛える!アルゴリズムとデータ構造 (Japanese Edition) (p.68). Kindle 版.
動的計画法 = 動的計画法(Dynamic Programming) = 与えられた問題全体を一連の部分問題に上手に分解し,各部分問題に対する解をメモ化しながら,小さな部分問題からより大きな部分問題へと順に解を求めていく手法
備考