大規模ウェブサイトのアルゴリズムとアーキテクチャに関する簡単な説明

大規模ウェブサイトのアルゴリズムとアーキテクチャに関する簡単な説明

順序

先月、上司が「大規模ウェブサイトのアルゴリズムとアーキテクチャに関する簡単な説明」という講義をしてくれて、とても役に立ちました。記事が長すぎるため(データ構造だけでもおそらく 20 種類以上あります)、一度にすべてを理解することができませんので、理解したとおりに章ごとに共有します。

今週は、さまざまなデータ構造とアルゴリズムを理解するために資料を調べました。

個人的に良いと思う本をいくつかお勧めします。 - 電子書籍をここに置きました: http://download.csdn.net/user/rtxbc。ダウンロードする必要がある場合は、ここからダウンロードしてください。

「ポインタの芸術。蔡明志」 - 私は C 言語に関する部分だけを読みました。個人的には、C 言語で最も難しいのはポインターだと感じています。

「C言語を使用したデータ構造 [Zhu Zhanli]」 - Yan Weimin の本も良いのですが、その中の文法の多くは抽象文法であり、実行できません。個人的には、ターミナルで実行する方法がなければ、感心するのは難しいと思います。

アルゴリズム入門

勉強のためにダウンロードした電子書籍(スクリーンショット):

アルゴリズムの構造

導入

1984年、パスカルセマンティクスと構造化プログラミングの革新により、ヴォスは「アルゴリズム + データ構造 = プログラム」を提案し、その年にチューリング賞を受賞しました。

現在、テクノロジーは日々変化しており、インターネットテクノロジーは絶えず発展し、歴史に新たな一章を開いています。このとき、「アルゴリズム + アーキテクチャ = インターネット プログラム」を提案する人もいました。

この時代を生きるプログラマーにとって、これは何を意味するのでしょうか?

この記事から、大規模な Web サイトのアルゴリズムとアーキテクチャについて簡単に説明します。今日はまず基本を理解し、その後徐々に移行していきます。

#p#

検索アルゴリズム(スタンドアロン)

1. 順序付けられていない配列があります。

2. 7 から 20 までの数字を見つけるには、どのようなアイデアがありますか?

次の2点は不思議ではありません。

1. バブルソート

2》二分探索は高速

3. Cコードの実装

[[94764]]実行結果

#p#

配列にデータを挿入する

配列の問題: 挿入が遅すぎるため、データを移動する必要があります。

次のコードをご覧ください。

[[94764]]実行結果

リンクリストを試す

[[94764]]コード構造

リンクリストにデータを挿入する

[[94764]]

リンクリストの特徴は、挿入が高速で、検索が低速であることです。

コード実装:

[[94764]]実装

#p#

実行プロセスをご覧ください

つまり、バイナリツリー(Binary Tree)が存在するのです。

上記の 2 つの構造 (配列とリンク リスト) にはそれぞれ欠点があることに気づくのは難しくありません。

1》配列は更新時に多くのリソースを消費し、後続の要素を1つずつ移動する必要があります。

2》リンクリストを照会する場合は、先頭から1つずつ比較して、照会する内容を選択する必要があります。

要約すると、クエリと更新がより高速な構造が必要なので、バイナリ ツリーを使用します。記事が長くなりすぎたので、次回の記事で紹介を続けます。

オリジナルリンク: http://www.cnblogs.com/baochuan/archive/2012/09/27/2704994.html

<<:  大規模ウェブサイトのアルゴリズムとアーキテクチャについての簡単な説明(パート 2)

>>:  アルゴリズム設計者が新たな人気者になる

ブログ    
ブログ    
ブログ    

推薦する

宇宙も「独学」です!このプロセスは機械学習アルゴリズムに似ており、物理法則を刷新するものである。

宇宙は自ら学ぶことができるのでしょうか?科学者たちは、自ら学ぶ能力を持つ宇宙、「自己学習宇宙」という...

...

PyTorch 1.8 と Tensorflow 2.5、どちらを使用すればよいですか?

[[408717]]ディープラーニングが再び認知されて以来、多くの機械学習フレームワークが登場し、...

テンセントの高性能グラフコンピューティングフレームワークPlatoとそのアルゴリズムの応用

[[318509]]プラトンについてテンセントの高性能グラフコンピューティングフレームワークPlat...

今後 5 年間で最も収益性の高い業界は何ですか?人工知能を勝ち取る者はインターネットを勝ち取るのでしょうか?

[[221537]]今後 5 年間で最も価値のある起業の方向性は何でしょうか?どの起業分野を選択す...

AIが業界全体でビジネス成果をどのように変革しているか

昨年末以来、人工知能の発展の勢いは止められないようです。 GPT-4 のような並外れた認知能力を備え...

AI が企業のランサムウェア対策やクラウド セキュリティ侵害防止にどのように役立つか

サイバーセキュリティの状況は毎年、組織が対処する必要のある新たな課題や障害をもたらしており、たとえば...

...

AIビジュアルクロスワードパズルが大ヒット!モンローは180度回転して一瞬でアインシュタインになる。Nvidiaの上級AI科学者:最近最もクールな拡散モデル

AIが描いたマリリン・モンローが180°回転してアインシュタインに? !これは、最近ソーシャル メデ...

半教師あり学習とその応用シナリオの簡単な分析

ラボガイドインターネットの発展により、企業はより多くのデータを入手できるようになりました。これらのデ...

数学を使わずに円の面積を計算する方法

機械学習の手法を使用して円の面積を計算します。円の面積はいくらかと誰かに尋ねると、r²だと答えるでし...

なぜ人工知能は第四次産業革命と呼ばれるのでしょうか?

[[234940]]過去2年間、世界のIT大手は人工知能の分野で展開してきました。GoogleはD...

...

繊毛もチップにできる!コーネル大学の中国人博士課程学生の初の論文がネイチャーの表紙に掲載

チップを作る上で最も重要な部分は何ですか? より高度な製造プロセスを使用してトランジスタ密度と計算能...

取り残された子どもたちを教育するのは難しい。AI教育はこの問題の解決に役立つだろうか?

[[251968]]最近、湖南省の12歳少年が母親を殺害したというニュースが報道され、遺児の教育問...