順序 先月、上司が「大規模ウェブサイトのアルゴリズムとアーキテクチャに関する簡単な説明」という講義をしてくれて、とても役に立ちました。記事が長すぎるため(データ構造だけでもおそらく 20 種類以上あります)、一度にすべてを理解することができませんので、理解したとおりに章ごとに共有します。 今週は、さまざまなデータ構造とアルゴリズムを理解するために資料を調べました。 個人的に良いと思う本をいくつかお勧めします。 - 電子書籍をここに置きました: http://download.csdn.net/user/rtxbc。ダウンロードする必要がある場合は、ここからダウンロードしてください。 「ポインタの芸術。蔡明志」 - 私は C 言語に関する部分だけを読みました。個人的には、C 言語で最も難しいのはポインターだと感じています。 「C言語を使用したデータ構造 [Zhu Zhanli]」 - Yan Weimin の本も良いのですが、その中の文法の多くは抽象文法であり、実行できません。個人的には、ターミナルで実行する方法がなければ、感心するのは難しいと思います。 アルゴリズム入門 勉強のためにダウンロードした電子書籍(スクリーンショット): アルゴリズムの構造 C 導入 1984年、パスカルセマンティクスと構造化プログラミングの革新により、ヴォスは「アルゴリズム + データ構造 = プログラム」を提案し、その年にチューリング賞を受賞しました。 現在、テクノロジーは日々変化しており、インターネットテクノロジーは絶えず発展し、歴史に新たな一章を開いています。このとき、「アルゴリズム + アーキテクチャ = インターネット プログラム」を提案する人もいました。 この時代を生きるプログラマーにとって、これは何を意味するのでしょうか? この記事から、大規模な Web サイトのアルゴリズムとアーキテクチャについて簡単に説明します。今日はまず基本を理解し、その後徐々に移行していきます。 #p# 検索アルゴリズム(スタンドアロン) 1. 順序付けられていない配列があります。 2. 7 から 20 までの数字を見つけるには、どのようなアイデアがありますか? 次の2点は不思議ではありません。 1. バブルソート 2》二分探索は高速 3. Cコードの実装 実行結果 #p# 配列にデータを挿入する 配列の問題: 挿入が遅すぎるため、データを移動する必要があります。 次のコードをご覧ください。 実行結果 リンクリストを試す コード構造 リンクリストにデータを挿入する リンクリストの特徴は、挿入が高速で、検索が低速であることです。 コード実装: 実装 #p# 実行プロセスをご覧ください つまり、バイナリツリー(Binary Tree)が存在するのです。 上記の 2 つの構造 (配列とリンク リスト) にはそれぞれ欠点があることに気づくのは難しくありません。 1》配列は更新時に多くのリソースを消費し、後続の要素を1つずつ移動する必要があります。 2》リンクリストを照会する場合は、先頭から1つずつ比較して、照会する内容を選択する必要があります。 要約すると、クエリと更新がより高速な構造が必要なので、バイナリ ツリーを使用します。記事が長くなりすぎたので、次回の記事で紹介を続けます。 オリジナルリンク: http://www.cnblogs.com/baochuan/archive/2012/09/27/2704994.html |
<<: 大規模ウェブサイトのアルゴリズムとアーキテクチャについての簡単な説明(パート 2)
[51CTO.com からのオリジナル記事] ご存知のとおり、AI は医療から旅行まで、あらゆる分...
モノのインターネットとインダストリー 4.0 の登場以来、マシン ビジョン、人工知能、機械学習、ディ...
[[217139]]この記事では、k-means アルゴリズムを使用して画像の色を復元することを提案...
GitHub は、クロスサイト スクリプティング (XSS)、パス インジェクション、NoSQL イ...
[[251877]]計算の観点から見ると、ビッグデータ分析のトレンドは流れ星のように消えることはあ...
過去 1 年間で、50 社を超える Web 3 メタバース企業にインタビューを行ってきました。今日の...
最近、多くのソーシャル ネットワーキング プラットフォームに、オープン ワールド サバイバル ゲーム...
Instagramは、顔をスキャンして年齢を推定できるサードパーティ企業Yotiが開発したAIツール...
今日、ますます多くの国や地域が、業務効率の向上、国民へのより良いサービスの提供、そして任務遂行能力の...
スマートホームデバイスへの自然言語生成 (NLG) の統合により、テクノロジーとのやり取りの方法に革...
[[360047]]今年、ほとんどの企業は、新型コロナウイルス感染症による混乱に対処し、リモートワー...
自動化の一般的な定義は、機械化と電動化の最高レベルであり、つまり、機械、設備、機器はすべて、指定され...