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

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

順序

前回の記事「大規模 Web サイトのアルゴリズムとアーキテクチャに関する簡単な説明 (パート 1)」に続いて、このトピックを続けましょう。

上記で多くの人が話題に関係ないと言っています。これは情報の一部に過ぎないので、話題に関係ないと感じるかもしれません。主な理由は、話題が大きすぎて内容が多すぎるためです。部分的にしか書き出せません。ご容赦ください。

上司は上のことしか話しませんでしたが、真ん中や下もありますよ!

重点は基本的な部分、つまりアルゴリズムの部分にあります。これには、今日のアーキテクチャの製品で使用されるアルゴリズムが含まれており、製品の本質をある程度理解することができます。関連する建築製品について実際に話す前に、スプレーツリーに関する記事から始める必要があります。

彼はまだ始めてもいないのに!勉強するには少し時間がかかりそうです。まずはアルゴリズムを理解しましょう!

バイナリツリー

上記の 2 つの構造 (配列とリンク リスト) には、それぞれ欠点があります。

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

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

要約すると、クエリと更新がより高速な構造が必要なので、バイナリ ツリーを使用します。

特徴:

各ノードには最大 2 つのサブツリーがあります。

80を見つける

実際のコードを見てみましょう:

[[94946]]実行して見てみましょう

挿入82

コードの練習を見てみましょう (注: 元のコードにメソッド insert_bit_tree が追加されています)。

[[94946]]実行して見てみましょう

#p#

バイナリツリーの問題点

非常に極端なケースで特定のデータを検索すると、上図に示すような状況が発生することは容易にわかります。データが数千万個あったら何が起こるかわかりますか?

上記の理由から、AVL ツリーとも呼ばれるバランスのとれたバイナリ ツリーを考えました。

バランス二分木: AVL 木 (1962)

実際のコードを見てみましょう。

主にこのコードを理解する

[[94946]]この関数をグラフに描きます。

オリジナルリンク: http://www.cnblogs.com/baochuan/archive/2012/10/08/2713700.html

<<:  シャッフルアルゴリズムの2つの実装の比較

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

ブログ    
ブログ    
ブログ    

推薦する

...

Google の家庭用ロボットがスタンフォード大学のエビ揚げロボットに挑む!猫と遊ぶためにお茶と水を出し、3回続けてフリックして猫と遊ぶ

インターネット上で話題となったスタンフォード大学のエビ揚げロボットは、1日で人気が急上昇した。結局の...

オンライン学習の次の波: 現代の学習システムにおける人工知能

[[375015]]世界的な流行により、ほぼすべての大学が授業をオンライン学習プラットフォームに移行...

...

人工知能の根幹技術を徹底的に分析

AIチップ・AIフレームワークの代表的企業コンピューティングアルゴリズムの重要な基盤として、人工知能...

人工知能のアプリケーションアーキテクチャを考える

[[408914]] 1. パドルライトとパドルスリム現在、ディープラーニングの分野には 2 つの派...

小売業界におけるAIインテリジェントビデオ分析の応用

人工知能 (AI) は、情報の集合からビジネス価値のある洞察を抽出することを目的とするデータ サイエ...

中国の自動運転はアメリカの自動運転と比べてどう劣っているのか?

アリゾナ州フェニックスからテキサス州エルパソまでの距離は約 690 キロメートルで、地図に示されてい...

未来の生活に革命をもたらす5つのテクノロジートレンド

テクノロジーは、絶え間ない進歩と常に変化する可能性により、私たちの日常生活に組み込まれるようになりま...

...

...

Alibaba の軽量オープンソース Web サーバー Tengine 負荷分散アルゴリズム

序文Alibaba レイヤー 7 トラフィック エントリ アクセス レイヤー (アプリケーション ゲ...

「理解する」シナリオ + 「理解する」テクノロジー: スマート交通で旅行が予測可能になる

【51CTO.comオリジナル記事】 [[337243]]よくよく数えてみると、一般的に誰もが悩まさ...

Google Loon の AI が開発者を驚かせる理由

北京時間3月5日、人工知能を使ったアルゴリズムが予想外のトリックで問題を解決しようとしており、開発者...

年末総括:2020年の顔認識業界の注目イベント一覧

「顔スキャン」時代の到来が加速するにつれ、人々が旅行したり、出勤記録を取ったり、医療の予約を取ったり...