ベストアンサー
アルゴリズムを理解するための私の意見の最良の方法は一度に1つのアルゴリズムを分析します。
ここでの目標は、より大きな問題をより小さく、より管理しやすい問題に分割することによって、より大きな問題を解決することです。解剖することで理解できるアルゴリズムが多ければ多いほど、より良くなります。
アルゴリズムの大まかな定義は次のとおりです。
アルゴリズムは、 のセットです。 / div>命令 固有のタスクを実行するように設計されています。
次のような多くの分野には、文字通り何千ものアルゴリズムがあります。数学とコンピューターサイエンス、天文学、生物情報学、地球科学、言語学、医学、物理学、統計などの両方の主題を含む計算数学!!
これまでに非常に役立つアルゴリズムがいくつかあります:
- 挿入ソートアルゴリズム
- 選択ソートアルゴリズム
- バブルソートアルゴリズム
- マージソートアルゴリズム
- クイックソートアルゴリズム
- バイナリ検索アルゴリズム
- 幅優先検索(BFS)アルゴリズム
- 深度優先検索(DFS)アルゴリズムorithm
- 最長の増加するサブシーケンス
- Bellman-Fordアルゴリズム
- 順序、事前順序、事後のツリートラバーサルアルゴリズム
- ヒープソートアルゴリズム
- 最小スパニングツリーを見つけるためのKruskalのアルゴリズム
- Dijkstraのアルゴリズム
- Primのアルゴリズム
- Floyd–Warshallアルゴリズム
- ジョンソンのアルゴリズム
- ホプクロフト–カープアルゴリズム
- エドモンズ–カープアルゴリズム
- フォード–フルカーソンアルゴリズム
- カーガーのアルゴリズム
- ユークリッド最短パスアルゴリズム
- 逆削除アルゴリズム
- A *検索アルゴリズム
- バックトラッキングアルゴリズム
- ビーム検索アルゴリズム
- D *アルゴリズム
- ブルートフォース検索アルゴリズム
- SSS *アルゴリズム
- F *アルゴリズム
- 反復深化深度優先検索アルゴリズム
- ブロン-ケルボッシュアルゴリズム
- MaxCliqueDyn最大クリークアルゴリズム
- タージャンの強く接続されたコンポーネントアルゴリズム
- Kosaraju “のアルゴリズム
- ハミング距離計算アルゴリズム
- KNNまたは最近傍探索最適化問題である郵便局問題を解決するための画期的なスパース分散メモリ計算アルゴリズム。
私は行くことができますしかし、あなたは要点を理解します。これらはすべて少し威圧的に見えるかもしれませんが、最初に1つを選び、それを理解するために時間を割くことを選択した場合。選択したアルゴリズムを理解のために小さなセクションに分割すると、アルゴリズムが解決する問題を解決できる力を備えたモチベーションが得られます。あなたの心は知性の喜びで満たされます。そして、あなたはあなたが学んだことを適用することによってあなたがどのような現実の問題を解決できるのか疑問に思います。私は逸脱していると思います。
それらのいくつかをよりよく理解するには、自分が自分であり、タスクを実行しているように考える準備をする必要があります。
コンピュータサイエンスの分野の未来が無限に織られた布であり、装飾やビーズなどのさまざまな色やその他の特性を備えている場合は、アルゴリズム
ドナルド・クヌースからの引用です。
一連のコマンドと決定により、データのコレクションを整理して整理できると、魔法のように美しいことが起こります。パターンや隠された構造を発見する。
レシピに従おうとしたことがありますか?アルゴリズムを理解している場合は、今度はコンピュータにアルゴリズムを理解させるときです!
コンピュータサイエンスの問題のほとんどは数学の問題です。したがって、コンピュータサイエンスの世界で革新したい場合は、数学の問題の解決を理解する必要があります。
直面するすべてのアルゴリズムにはいくつかの特性があり、次のとおりです。
- 有限性:アルゴリズムは無制限にすることができますが、ステップは終了する必要があります。つまり、アルゴリズムのステップ数は常に有限です。
- 明確性:明確性とは、「すべてのステップは適切かつ正確に定義されている」。
- 入力または入力:これはかなり自明です。アルゴリズムが入力を受け取らない場合でも、0入力と言うことができます。
- 出力または出力:入力の数と同じですが、アルゴリズムには少なくとも1つの出力が必要です。
- 有効性:比較されたアルゴリズムの有効性または効率を比較するために、アルゴリズムに含まれる操作は測定可能でなければなりません。一般に、アルゴリズムが占める時間とスペースの量は、そのアルゴリズムの効率の公正な尺度です。
他に質問がある場合は、メッセージをドロップしてください。
次回まで! 安全を確保し、気を付けてください!
✍EzazAkhtar!
回答
最初にプログラミング言語を学ぶ
Pythonを 良いスターター。 コーディングは簡単で、多くの組み込みメソッドが含まれています。 Pythonを使用して、Hckerrankサイトのパズルなどのパズルの解決を開始します。
アルゴリズムを使用するのが最も簡単な方法です。