このチュートリアルでは、 データ構造 基本から。 さまざまなタイプのデータ構造とその使用法、およびそれらを実装する方法を理解します。
データ構造とは何ですか?
データ構造は、データにアクセスして効率的に変更できるように、整理された方法で保存できるデータのコレクションです。
データ構造の使用法
- データ構造は、Bツリーインデックスを使用してデータを取得するリレーショナルデータベースなど、さまざまな種類のアプリケーションで使用されます。
- ハッシュテーブルはコンパイラの設計で使用されます。
- これらは、検索、並べ替えなどのさまざまなアルゴリズムで使用されます。
- インターネットインデックスサービスはデータ構造を使用します。
データ構造の種類
DSの種類 | サブタイプ |
配列 | |
リンクリスト | |
スタック | |
キュー | |
木 | 二分木 |
二分探索木 | |
ヒープ | |
ハッシング | ハッシュ表 |
ハッシュツリー | |
グラフ | 意思決定グラフ |
有向グラフ | |
マトリックス |
線形データ構造とは何ですか?
線形データ構造は、データを順番にトラバースできるタイプのデータ構造です。 配列、リンクリスト、スタック、キューは線形データ構造の例です。 詳細については、以下の画像をご覧ください。

ツリーデータ構造とは
ツリーデータ構造は、階層データ構造です。 エッジで接続されたノードがあります。詳細については、以下の画像を参照してください。

ハッシュとは
ハッシュは、ハッシュ関数を使用してキーと値のペアでデータをマップし、データをより高速に取得するデータ構造です。 ハッシュの例は、ハッシュテーブル、ハッシュツリーです。 詳細については、以下の画像をご覧ください。

グラフとは
グラフは、エッジと頂点で構成されるデータの非線形の画像表現です。 詳細については、以下の画像をご覧ください。

線形データ構造と非線形データ構造の違い
Sl No | キーポイント | 線形データ構造 | 非線形データ構造 |
1 | データアライメント | データは順番に保存されます | データは階層形式で保存されます |
2 | レベル | 関与する単一レベル | 関係する複数のレベル |
3 | 複雑 | 実装が簡単 | 実装は複雑です |
4 | トラバーサル | データはXNUMX回の実行でトラバースできます | XNUMX回の実行でデータをトラバースすることはできず、複数回の実行が必要です |
5 | メモリの利用 | 効率的ではない | 効率的な |
6 | 例 | 配列、リンクリスト、スタック、キュー | グラフ、ツリー |
7 | アプリケーション | ソフトウェア開発で使用 | 画像処理、音声処理、人工知能で使用されます |

データ構造に関するいくつかのインポートの質問と回答
Qn 1.データ構造におけるADTとはどういう意味ですか?
回答: ADT 抽象データ型を意味します。 クラスまたはオブジェクトはADTの例です。 クラスまたはオブジェクトを使用する場合、一連の値と一連の操作によって動作を定義します。 ADTは、実行する必要のある操作のみを通知します。 操作が内部でどのように実装されているかはわかりません。
例:
- リスト
- size()-> Sizeは要素の数を示しますが、結果を出すために内部的にどのように計算されるかは示していません。
- insert(x)-> insertは要素の挿入に役立ちますが、ロジックの記述方法はわかりません。
- remove(x)->同様に、removeメソッドを使用して、実装に通知せずに要素を削除します。
- get(i)-> getは、要素にアクセスするために使用されます。
Qn 2.データ構造の利点は何ですか?
- 回答:
- データ構造を使用すると、ストレージデバイスにデータを効率的に保存できます。
- データ構造は、ストレージデバイスからデータを取得するための簡単なオプションを提供します。
- 少数のデータから多数のデータを効率的に処理できます
- グラフのようなデータ構造を使用して、実際の問題を解決できます
- データベースシステムは、ハッシュテーブルと配列を使用したインデックス作成を使用して、データを効率的に取得します。
Qn 3.プリミティブデータ構造とは何ですか?
回答:プリミティブデータ構造は、さまざまなプログラミング言語でサポートされているシステム定義のデータ型です。 例:int、double、float、boolean、character。
Qn 4.複雑なデータ構造とは何ですか?
回答:ハッシュテーブル、ツリー、ヒープ、グラフなどのデータ構造は、複雑なデータ構造と呼ばれます。 これらのデータ構造の実装は、本質的に複雑です。
Qn 5.データ構造のXNUMXつの主なタイプは何ですか?
回答:主に、データ構造はXNUMXつの部分に分かれています。
- 線形データ構造:スタック、キュー、 配列、リンクリスト
- 非線形データ構造:ツリー、グラフ
結論
今まで、私たちはの基本をカバーしてきました データ構造。 次のトピックでは、 配列。 このセクションの詳細については、こちらを参照してください リンク.