データ構造は、3つの構造に分けることができます。
リニア構造:
アレイ;スタック;キュー;リスト、ハッシュテーブル
ツリー:
二分木、二分探索木、AVL、赤黒木、Treap、スプレイ、ヒープ、トライ、ツリーライン、KDツリー、互いに素なセット、ハフマン
図構造
隣接行列、隣接リスト
私たちは、アプリケーションに応じて最も適切なデータ構造を選択する柔軟性を必要とし、
例:
1、データベース、
それは良いパッケージを持って、データベースを使用することができますSQL言語を使用し、
ムークラスのネットワークSELECT * FROM
WHERE関心=「データ構造」
ツリー構造の使用が最も重要なものである:AVL、赤黒木、Treap、スプレー木、Bツリー、
もう1つの非常に重要なハッシュテーブル
図2に示すように、オペレーティング・システム
それはに、データ構造の多くは、マルチタスク切り替えの例が含まれます。
システムスタックは、再帰呼び出しスタックシステムを必要とします
プライオリティキュー:ヒープ。プライオリティキューを使用すると、オペレーティングシステムはすぐにタスク切り替えを実現するために複数のタスク間でその優先順位を比較することができます
3、ファイル圧縮
RAR、コンピュータPNG、MP3、PDFファイルは、圧縮の一定量のために異なっているだけではなく、
使用される最も基本的な圧縮アルゴリズムは、ハフマン木であります
ハフマン木は非常に簡単で、今のソフトウェアはしていません
4、連絡先、
リストが使用されるが、接触が非常に長いして、ゆっくりと、特別に見えます
この最後の問題は、それがシンプルで、インターンを解決しています
トライ、プレフィックスツリー。
このように、どんなに多くの接触、ミリ秒レベルの連絡先にあるすべての人を探していません
礎石としてのアルゴリズム、データ構造の多数
例えば、ゲームの経路探索アルゴリズム、グラフ理論アルゴリズム、
DFSの深さ優先探索:スタックを使用して、
BFSの幅優先トラバーサル:使用キュー
アルゴリズム+データ構造=プログラム