ビデオ: How Netflix changed entertainment -- and where it's headed | Reed Hastings 2024
リストを並べ替えることなくリスト内のアイテムを見つけようとしているとします。すべての検索は、時間のかかる順次検索になります。しかし、アルゴリズムのデータをソートしない場合があります。結局、ソートしなくてもデータにはアクセスできます。ソートには時間がかかります。
もちろん、ソートされていないデータの問題は、キッチンの迷惑メールボックス(またはあなたが迷惑メールボックスを持っている場所)と同じ問題です。あなたが何かを見つける場所を推測することさえできないので、迷惑メールの中の何かを探すことは時間がかかります。あなたが欲しいものを見つけようとするのではなく、無数の他のアイテムを取り出す必要があります。残念ながら、必要なアイテムは、最初は迷惑メールには載っていない可能性があります。投げ捨てたり、別の引き出しに入れたりしている可能性があります。
<! - 1 - >あなたの家にある迷惑メールは、システム上の並べ替えられていないデータに似ています。データがソートされていない場合は、一度に1つのアイテムを検索する必要があり、最初にデータセット内のすべてのアイテムを検索することなく、必要なものが見つかるかどうかはわかりません。これは、データを扱うための不満足な方法です。もちろん、単にデータをソートするだけでは不十分です。従業員データベースが姓でソートされていて、生年月日で従業員を検索する必要がある場合、ソートは有用ではありません。 (あなたは特定の日に誕生日を持っているすべての従業員を探したいとします)必要な生年月日を見つけるには、データセット全体を一度に1つずつ検索する必要があります。したがって、ソートは特定のニーズに焦点を当てる必要があります。はい、あなたは一時点で部門別に別の時点で姓でソートされた従業員データベースが必要でしたが、データセットを効果的に使用するには生年月日でソートする必要があります。
<! - 2 - >
同じデータに対して複数のソート順を維持する必要があるため、開発者はインデックスを作成しました。小さなインデックスをソートするのは、データセット全体をソートするよりも高速です。インデックスは特定のデータ順序を保持し、完全なデータセットを指していますので、必要なものを非常に高速に見つけることができます。ソート要件ごとに索引を維持することで、データ・アクセス時間を効果的に削減し、複数のユーザーがアクセスする必要がある順に同時にデータにアクセスできるようになります。<! - 3 - >
ソートアルゴリズムを分類する方法はいろいろあります。これらの方法の1つは、並べ替えの速度です。比較:
- データセットのある場所から別の場所にデータを移動するには、データセットを移動する場所を知る必要がありますこれは、ターゲットデータをデータセット内の他のデータと比較することを意味します。比較が少ないほどパフォーマンスが向上します。 交換:
- アルゴリズムの書き方によっては、データが最初の試行でデータセットの最終位置に到達しないことがあります。データは実際には数回動くことがあります。交換の回数は、実際にデータをある場所から別の場所に移動させるため、速度にかなり影響します。インデックスの使用時などの交換の数が少なくなると、パフォーマンスが向上します。