1. 何ですかアルゴリズムとは、問題に対する解決策の正確かつ完全な説明を指します。これは、問題を解決するための一連の明確な指示です。アルゴリズムは、問題を解決するための戦略メカニズムを説明する体系的な方法を表します。 つまり、一定の標準入力に対して、限られた時間内に必要な出力を得ることができます。 アルゴリズムに欠陥があったり、問題に対して不適切であったりする場合、そのアルゴリズムを実行しても問題は解決されません。 プログラム = アルゴリズム + データ構造。データ構造はアルゴリズム実装の基礎です。アルゴリズムは常に何らかのデータ構造に依存して実装されます。この 2 つは切り離せません。 したがって、アルゴリズムの設計と選択は、データ構造と組み合わせる必要があります。簡単に言えば、データ構造の設計とは、問題内の情報が配列に格納されるか、通常の変数またはその他のより複雑なデータ構造に格納されるかを決定するなど、格納方法を選択することです。 上記に基づいて、次のような結論を導き出すことができます。異なるアルゴリズムでは、同じタスクを完了するために異なる時間、スペース、または効率を使用する可能性があります。 2. 特徴アルゴリズムの 5 つの主な特徴は次のとおりです。
3. 応用シナリオフロントエンド分野では、データ構造とアルゴリズムが不可欠です。たとえば、現在の Vue や React プロジェクトでは、次の単純な仮想 DOM に示すように、仮想 DOM または Fiber 構造の実装は基本的にデータ構造です。
Vue と React はどちらも、対応するデータ構造に基づいて diff アルゴリズムを実装できるため、フレームワーク全体のパフォーマンスとスケーラビリティが向上します。 フロントエンドのJavaScriptがコンパイルされるときも含め、対応する抽象構文木ASTが生成されます。構文自体は含まれていないため、任意の構文を任意の構文にエスケープするための対応するエスケープルールを記述するだけで済みます。これは、babel、PostCSS、prettier、typescriptでも同様です。 これらのフレームワークやツールの基盤で使用されているアルゴリズムやデータ構造は、日常業務でも広く使用されています。たとえば、関連付け機能を備えた入力ボックスは次のように実装されます。 この機能を実装したい場合は、次のようにプレフィックス ツリーを使用できます。 フロントエンドは、2 つの文字列「每日一题」と「js每日一题」の類似性を比較するなど、文字列の類似性検出を行う場合があります。この場合、「最小編集距離」アルゴリズムを使用できます。a と b の編集距離が小さいほど、それらはより類似していると考えられます。 日常生活でコードを書くときは、優れたアルゴリズム思考が必要です。適切なアルゴリズムやデータ構造を選択すると、プログラム全体の効率が向上します。 参考文献 https://baike.baidu.com/item/%E7%AE%97%E6%B3%95/209025 https://lucifer.ren/blog/2019/09/18/algorthimn-fe-1/ |
<<: AI のブラックボックスを開く: 「説明可能な」人工知能 (XAI) への認知ガイド!
人工知能(AI)技術は現在、新たな急速な成長期に入り、将来の世界を変える可能性が最も高い破壊的技術と...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
Facebook AI Research は近年、ビデオ理解研究において多くの素晴らしい成果を上げて...
競争で優位に立つために、このブログでは、TensorFlow、PyTorch、sci-kit-lea...
夏の気温が上昇し続け、雨季が近づいているため、我が国の水利インフラは再び大きな試練に直面することにな...
IT Homeは12月14日、GoogleがAI駆動型コード補完・生成ツール「Duet AI for...
[[419321]]導入私は機械学習についてはよく知りませんが、先月、GitHub で Go のサン...
[[201115]] 2016年3月15日、ALPHGOが韓国の囲碁プレイヤー、イ・セドルを4対1...
技術が急速に進歩する時代において、人工知能 (AI) が最終的に世界を支配するかどうかという差し迫っ...
Amazon Transcribe は、開発者がアプリケーションに音声テキスト変換機能を簡単に追加で...
私は長年、学界と産業界の両方で機械学習モデリングに取り組んできましたが、Scalable ML で「...