マインドマップギャラリー アルゴリズムの概要
アルゴリズムの概念、アルゴリズムの表現、アルゴリズムの複雑さの分析、アルゴリズムの設計手順などを紹介する、アルゴリズムに関する入門知識の概要。これは、コンピューター アルゴリズムの設計と分析の基礎であり、学習者がさまざまな特定のアルゴリズムを習得するための基礎を築きます。今後アルゴリズムを学習する過程で必ず習得すべき重要な内容です。
これはバクテリアに関するマインドマップであり、その主な内容には、概要、形態、種類、構造、生殖、分布、アプリケーション、および拡張が含まれます。概要は包括的で綿密で、レビュー資料として適しています。
これは、植物の無性生殖に関するマインドマップであり、その主な内容には、概念、胞子の生殖、栄養生殖、組織培養、芽が含まれます。概要は包括的で綿密で、レビュー資料として適しています。
これは、動物の生殖発達に関するマインドマップであり、その主な内容には、昆虫、カエル、鳥、性的生殖、無性生殖が含まれます。概要は包括的で綿密で、レビュー資料として適しています。
自己分析
Python の基本
アプリケーション設計および実装テクノロジのマインドマップ
Pythonライブラリ一覧
プログラミング
Vue3
マネジメント 第4章 環境分析と合理的な意思決定
マネジメント 第3章 意思決定と意思決定プロセス
マネジメント 第 1 章 概要
Django アプリケーションを作成する
アルゴリズムの概要
アルゴリズムの概念
アルゴリズムの基本的な意味
ある問題を解決する方法
アルゴリズムの定義
非公式の説明
アルゴリズムは、特定の種類の問題を解決するための一連の操作を指定する、入力、出力、確実性を満たす一連の命令です。 、そして有限性。
入力: アルゴリズムへの入力として機能する 0 個以上の外部量があります。
出力: アルゴリズムは、出力として少なくとも 1 つの量を生成します。
決定的: アルゴリズムを構成する各命令は明確であり、明確です。
有限性: アルゴリズム内の各命令の実行回数は限られており、各命令の実行時間も限られています。
アルゴリズムとプログラム
プログラムは、特定のプログラミング言語でのアルゴリズムの特定の実装です。
プログラムはオペレーティングシステムのようなアルゴリズムの性質(4)、つまり有限性を満たす必要はありません。
プログラム = プログラミング言語アルゴリズムのデータ構造
アルゴリズムの研究範囲
数値計算
線形非線形方程式、補間、積分微分
非数値計算
並べ替え、最適化、色付け、パス、トラバーサル、機械学習、データマイニング
アルゴリズムのプロパティ
正しさ
与えられた有効な入力に対して、アルゴリズムが限られた時間内で問題に対して常に正しい答えを与える場合、問題を解決するためのアルゴリズムは正しいと言われます。
これは主にアルゴリズムの数学的正確さを指します。数学的な正しさがプログラムの正しさの基礎となるからです。アルゴリズムを定式化するときは、その正しさを数学的に証明します。
仕事量
実行時間で測定
特定の実行マシンに依存しますが、良くありません
基本操作の回数で計測
実行されるコンピュータに依存しない
スペースの使用量
プログラムと入力データの保存スペースを除く必要なスペース
インプレースで動作: 余分なスペースの使用量は入力サイズの定数関数です。
シンプルさ
アルゴリズムは直感的でわかりやすく、読みやすいものである必要があります。単純なアルゴリズムは、その正確性を証明しやすく、ワークロードを分析しやすいものでなければなりません。
最適性
アルゴリズムを表現するための抽象的なメカニズム
言語レベルの抽象化
高級プログラミング言語
1. アルゴリズム言語に近く、学習と習得が簡単
2. プログラマーに構造化されたプログラミング環境とツールを提供し、可読性、保守性、信頼性の高いプログラムを提供します。
3. 機械語に依存しないため、プログラムの移植性が高く、再利用性が高い
4. コンパイラが些細なことを処理するため、自動化度が高く、開発サイクルが短く、プログラムの品質が高い。
データレベルの抽象化
抽象データ型
抽象データ型は、アルゴリズムのデータ モデルと、アルゴリズムの構成要素として機能するモデル上で定義された一連の操作を組み合わせたものです。
アドバンテージ
(1) アルゴリズムのトップレベルの設計は、ボトムレベルの実装から分離されています。
(2) アルゴリズム設計がデータ構造設計から分離されているため、データ構造を自由に選択できます。
(3) データ モデルとそのモデルに対する操作は ADT に統合されているため、スペースと時間の消費の間のトレードオフが容易になります。
(4) 抽象データ型で表現されたアルゴリズムは保守性が良い。
(5) アルゴリズムは当然モジュール式です。
(6) トップダウンの段階的な改良とモジュール化のための効果的な方法とツールを提供する。
(7) アルゴリズムには明確な構造と明確な層があり、アルゴリズムの正確性の証明と複雑さの分析が容易になります。
アルゴリズムの説明
ジャワ
プログラム構成
データの種類
方法
異常な
Javaクラス
一般的な方法
ガベージコレクション
再帰
アルゴリズム設計の手順
アルゴリズム設計の基本手順
1.問題文
2.モデリング
3.アルゴリズム設計
4.アルゴリズムの正しさの証明
5.アルゴリズムの実装
6.アルゴリズムの複雑さの分析
7。実験試験
8.ドキュメンテーション
アルゴリズムの複雑さの分析
分析理由
アルゴリズムが特定の入力を正常に処理するには、アルゴリズムに必要なメモリ空間と実行時間を見積もるか、制限する必要があります。
同じ問題に対する異なるアルゴリズムの効率を定量的に比較できる
複雑さの分類
多項式時間計算量アルゴリズム
指数関数的時間計算量アルゴリズム
実験的なテストと分析
理由
アルゴリズムの正しさを検証するための実験
アルゴリズムの実験品質の判断
アルゴリズムの計算限界を決定する
選択式の質問: 何をテストするか、テストの目的
アルゴリズムの平均漸近実行時間を推定する
特定の入力に対する同様のアルゴリズムのパフォーマンスを比較します。
アルゴリズムのパラメータを決定するための実験
近似アルゴリズムの場合、テスト結果が最適値にどの程度近いか
指標の決定
実際の走行時間
干渉因子
コンピュータ上で実行されている他のプログラム
キャッシュへの影響
メモリ使用率
テストデータの生成
十分な量
異なるスケール
異なる分布
プログラムして実行する
プログラミングレベルの一貫性を確保する
走る
クリーンなコンピューティング環境を確保し、データノイズを低減します。
データ分析
比率テスト
電力テスト
ドキュメンテーション
問題の説明と分析
モデリングと解決
アルゴリズム設計と正当性証明プロセス
試験結果の記録と分析レポート
入出力要件と形式の説明
T(N,I) を使用して、抽象コンピューター上のアルゴリズム A の時間計算量を表します。
N: 解決すべき問題のサイズ
DN: サイズ N のすべての可能な入力のセット
P(DN): DNの確率分布
I: アルゴリズムへの入力、I∈DN
時間計算量の測定
記号の説明
○
意味
数学的な正式な定義
O(g(n)) は、g(n) を上限とするすべての関数です
象徴的な理解
算術規則
(1)の証明
Ω
θ
ああ