【これだけは覚えよう】頻出&有用なデータ構造【図解あり】
はじめに
皆さんこんにちは。
今回は知っていると便利なデータ構造をご紹介します。
データ構造とは、複数のデータをまとめて扱うための仕組みです。データ構造は複数種類あり、それぞれ特徴が異なります。プログラミングでは特徴を理解して使い分ける必要があります。
今回の内容は次のような方にオススメです。
こんな人にオススメ
- 配列や連想配列の特徴を知りたい
- 頻繁に利用するデータ構造を知りたい
初めて学習する方にも分かるように、丁寧に解説していきます。
プログラミングに慣れてきた方も、是非一度目を通していただけると嬉しいです。
😋 データ構造を知るとプログラムの工夫の幅が広がります♪
配列(リスト)
まずポイントをチェック
- 複数のデータを順序付けして、まとめた形式
- 先頭から0,1,2…と番号が振られる
- 番号を指定することで、該当の値を取り出すことができる
配列とは、複数のデータを順序付けして、まとめた形式です。
配列は、最も頻繁に利用されるデータ構造です。
配列の構成要素
配列に格納した値のことを要素と呼びます。
要素は添字と呼ばれる番号で管理されており、先頭から0,1,2…と番号が振られます。
要素を取り出す場合は、添字を指定することで該当の要素を取り出すことができます。
また、配列は要素の順番を保証する特徴を持っています。つまり、その配列を使う時はいつでも、同じ順番で要素を取り出すことができます。
😋 配列は複数の値を順序付けしてまとめたものです♪
配列を利用することで複数のデータをまとめられるため、コード上の行数を抑えることができます。また、データを1つのまとまりとして意味付けをすることで、コードが理解しやすくなります。
🍕 例えば、バラバラの変数に”カレー”・”ラーメン”・”ハンバーグ”と定義するよりも、メニューリストという配列に、それぞれの値をまとめる方が意味を理解しやすくなります。今回の例は、お店の食事メニューのリストであると理解できます。 |
---|
😋 配列は意味付けとしても利用します♪
配列と繰り返し処理
配列は、繰り返し処理と一緒によく利用されます。
配列内の要素全てを画面表示したり合計値を計算するなど、一括で処理したい場合に便利です。
配列には、利用上の重大な注意点があります。
それは、配列には同じジャンルの値を格納するということです。
🍕 例えば、先程のメニューリストには、文字列型の食べ物名を格納します。そして、それ以外の値を入れてはいけません。当然、数値型の値を混ぜてはいけませんし、文字列型でも食べ物名以外を混ぜてはいけません。その時点で、メニューという意味が揺らいでしまい、理解しづらくなってしまうためです。 |
---|
😋 配列には同じジャンルの要素だけをまとめましょう♪
また、この同じジャンルというルールは、バグを避けるためにも非常に重要です。
配列を繰り返し処理する際に、文字列型の中に数値型が混入していると、データ型の違いが原因でエラーになることがあります。
連想配列(キーバリュー形式)
まずポイントをチェック
- 配列とは異なり、値はキーで管理される
- キーを指定して値を取得する
- まとまりから個別の値を頻繁に利用する際に便利
連想配列とは、まとめた各データに名前付けして管理する形式です。
名前をキー、値をバリューと呼ぶことから、キーバリュー形式と呼ぶこともあります。
連想配列は複数の値をひとまとめにする仕組ですが、配列とは異なり値はキーで管理されます。
🍕 例えば、首都を管理する場合、日本と東京・アメリカとワシントンDC・フランスとパリ、のように国名をキーにして首都を値として管理します。この場合、国名を指定することで首都を取り出すことができます。 |
---|
😋 キー指定で値を取り出せるので、個別の値を頻繁に利用する際に便利です♪
配列の場合は番号で値が管理されているため「何番目にどの値があるか」をコードから読み解かなければ目的の値を取得できません。
その点、連想配列はキーを指定すれば良いので、個別の値が参照しやすくなっています。
😋 配列は番号、連想配列はキーで管理してます♪
おわりに
皆さん、お疲れ様でした。
ここまでご覧いただき、ありがとうございました。
配列と連想配列は、どちらも複数の値をひとまとめにする仕組でした。実はこういったデータ構造を使わなくても、コードは書けます。しかし、とても理解しづらいものになってしまいます。プログラムは沢山のデータを扱いますが、そのデータを理解しやすくまとめることも重要です。プログラムは、動くだけでなく理解しやすいことも重要なので、データ構造も是非身につけましょう。
😋 これからもプログラミング学習頑張りましょう♪
Discussion