[Dahuaデータ構造]第1章-データ構造の概要

ここに画像の説明を挿入

1.データ構造の概要

1.基本的な考え方

1.1データ

データ:客観的なものを説明する記号、コンピューターで操作できるオブジェクト、およびコンピューターが認識してコンピューターに入力して処理できる記号のコレクション。データには、整数や実数型などの数値型だけでなく、文字や音声、画像、動画などの非数値型も含まれます。

1.2データ要素

データ要素:データを構成し、一定の意味を持つ基本単位であり、通常はコンピュータで全体として処理されます。レコードとも呼ばれます。

1.3データ項目

データ項目:データ要素は、複数のデータ項目で構成できます。データ項目は、分割できないデータの最小単位です。

1.4データオブジェクト

データオブジェクト:同じ性質のデータ要素のコレクションであり、データのサブセットです。

1.5データ構造

構造:さまざまなデータ要素は独立していませんが、特定の関係があります。これらの関係を構造と呼びます。

データ構造:これは、相互に1つ以上の特定の関係を持つデータ要素のコレクションです。

2.論理構造と物理構造

さまざまな視点から、データ構造は論理構造と物理構造に分けることができます

2.1論理構造

論理構造:データオブジェクト内のデータ要素間の関係を指します。

4つの論理構造があります。

2.1.1コレクション構造

コレクション構造:コレクション構造内のデータ要素が同じコレクションに属していることに加えて、それらの間に他の関係はありません。

ここに画像の説明を挿入

2.1.2線形構造

線形構造:線形構造のデータ要素間には1対1の関係があります。

ここに画像の説明を挿入

2.1.3ツリー構造

ツリー構造:ツリー構造のデータ要素間には1対多の階層関係があります。

ここに画像の説明を挿入

2.1.4グラフィック構造

グラフィック構造:グラフィック構造のデータ要素は、多対多の関係にあります。

ここに画像の説明を挿入

概要:論理構造は特定の問題を対象としており、特定の問題を解決することを目的としています。問題の理解に基づいて、データ要素間の論理関係を表す適切なデータ構造が選択されます。

2.2物理的構造(保管構造)

物理的構造:コンピューター内のデータの論理構造のストレージ形式を指します。

データ要素のストレージ構造には、シーケンシャルストレージとチェーンストレージの2種類があります。

2.2.1シーケンシャルストレージ構造

シーケンシャルストレージ構造:データ要素は連続したアドレスを持つストレージユニットに保存され、データ間の論理的および物理的関係は一貫しています。

ここに画像の説明を挿入

2.2.2チェーンストレージ構造

チェーンストレージ構造:データ要素を任意のストレージユニットに保存します。このストレージユニットのグループは、連続的または非連続的です。

ここに画像の説明を挿入

概要:論理構造は問題指向ですが、物理構造はコンピューター指向です。その基本的な目標は、データとその論理関係をコンピューターのメモリに格納することです。

3.抽象データ型

3.1データ型

データ型:同じ性質の値のコレクションを指し、このコレクションで定義されている一部の操作の一般的な用語です。

C言語では、さまざまな値に応じて、データ型を2つのカテゴリに分類できます。

  • アトミックタイプ:整数、実数、文字など、分解できない基本タイプです。
  • 構造タイプ:いくつかのタイプで構成されており、分解することができます。たとえば、整数配列は複数の整数データで構成されます。

コンピューターごとにハードウェアシステムが異なるため、最終的にはコンパイラーやインタープリターを介してプログラミング言語を低水準言語に変換する必要がありますが、高水準言語プログラマーは最終的なプログラムが実行されるコンピューターを気にしません。目的は両方を達成することです。整数の演算なので、整数演算、実数演算、文字演算などの抽象演算を検討します。

抽象化とは、物事の普遍的な本質を抽出することを指します問題の特徴を抽出し、本質的でない詳細を無視します。これは特定のものの一般化です。抽象化は問題についての考え方であり、複雑な詳細を隠し、目標を達成するために必要な情報のみを保持します。

3.2抽象データ型

抽象データ型(ADT):数学モデルとモデルで定義された一連の演算を指します抽象データ型の定義は、その論理特性のセットにのみ依存し、コンピューター内でどのように表現および実装されるかとは関係ありません。

たとえば、メインフレーム、ミニコンピューター、PC、タブレット、PDA、さらにはスマートフォンであるかどうかにかかわらず、すべてのコンピューターには「整数」型があり、整数間の操作が必要です。整数型は実際には抽象型です。上記の実装方法は、コンピュータによって異なる場合がありますが、定義の数学的特性が同じであるため、コンピュータプログラマの観点からは、すべて同じです。したがって、「抽象化」の意味は、データ型の数学的抽象化にあります。

実際には、抽象データ型は、問題の分解、抽象化、およびプログラム設計に隠蔽されている情報の特性を具体化します。抽象データ型は、現実の問題を小さくて扱いやすい複数のモデルに分解し、コンピューターで処理できるデータモデルを確立し、各機能モジュールの実装の詳細を独立した単位として扱います。具体的な実現についてプロセスは隠されています。

抽象データ型を記述するための標準形式を以下に示します。

ADT 抽象数据类型名
Data
    数据元素之间逻辑关系的定义
Operation
    操作1
    	初始条件
    	操作结果描述
    操作2
    	......
    操作n
    	......
endADT

4.まとめ

ここに2つの要約図があります

ここに画像の説明を挿入

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/m0_50833438/article/details/112797358