雑記まとめ

役に立ちそうな内容を気づき次第、アップします!ゆるーい感じでやっていこうと思っています

データ構造とは??テクノロジーの進歩が目まぐるしい昨今、必要不可欠な基礎知識を4つ

データ構造とは??テクノロジーの進歩が目まぐるしい昨今、必要不可欠な基礎知識を4つ

先日から書いている、初心者がコンピュータやプログラミングについて理解をする上での基礎中の基礎の続編です。続編ですが、初めてお読みになる方でも分かるように記載しているつもりです。これまでの内容はページ下部に記載しています。今回は4つ目のデータ構造についてです。アルゴリズムやプログラミング、統計学などと比較して、私はあまりイメージが湧きにくかったです。

前置き(まとめようと思ったきっかけ)

あるビジネス用の研修用の動画を見た際に、興味深い内容でしたので記事にまとめてみました。「これからの時代は、テクノロジー」とか「プログラミングが必要だ」とか「AIに仕事取られる」、「IoTが熱い」などなど本当によく聞きます。それぞれ必要な能力や知識について教えてくれて、かなり印象に残ったので、興味を持ったんだと思います。これらの基礎となる、浅く、広く学んでいた方が良い、4つの学びについてまとめました。これまではコンピュータとは何かアルゴリズムプログラミング統計学でしたが、今回は最後で「データ構造」です。

ビジネスのテクノロジー化についていく上で必要な4つの基本

■上でも記載しましたが、以下の4つの要素がビジネスにおけるテクノロジーの基本の様です。

  1. アルゴリズムとは
  2. プログラミングの基礎
  3. 統計学(コンピュータの)
  4. データの扱い(データ処理)

上の3つについては以前にまとめたので、今回は「4、データの扱い(処理)」についてまとめたいと思います。まとめるのが非常に難しかったので、分かりにくい点もあるかもしれません。

そもそもデータとは?

■「データとは何か?」は、例えから入った方が分かりやすいかもしれません。例えば、あるクラスの点数を考える時。あるクラスの山田君は80点、田中君は60点、高橋さんは95点、、、などそれぞれの点数をエクセルなどで管理した場合、それぞれの数字や名前をデータと呼ぶようです。

  未経験のITエンジニア転職なら【TECH::EXPERT】

■コンピュータには、データを入れる箱が無数にあり、一つの箱に入るデータは一つと決まっているようです。このデータの箱について、エクセルで例えて考えてみると、分かりやすいかもしれません。エクセルのあるセル内(C列3行目)に60点というデータが入っている場合、C列の3行目の箱に数値「60点」が入っていると言えます。この時に箱(C列3行目)がコンピュータでの箱を表すと考えれば、少し分かりやすくなるかもしれません。ここでは、データを入れる箱の概念があることと、1つの箱には1つのデータしか入らないことを理解すれば大丈夫かと思います。

データ構造の4つの代表例

■ここでは代表的なデータ構造を4つ紹介したいと思います。データ構造とは上でお伝えした箱の組み合わせ方法です。この組み合わせ方法によって、データを選び出す速度や負荷が変わってきます。4つのデータ構造は、

  • 配列
  • リスト
  • ツリー
  • グラフ

です。

配列(データ構造)

■単純に1列に箱を並べた構造です。データが名前であれば、「阿部」「加藤」「高橋」「田中」「山本」などの名簿を順番に並べたものです。いまいちイメージが湧かないかもしれないので、他のデータ構造との比較で、理解していく方が良いかもしれませんので、次に行きたいと思います。

リスト(データ構造)

■リストの構造は、順番通りに並べない構造です。イメージは、箱と箱の間にからの箱をがるイメージです。上の例でいうと「阿部」〇〇〇「加藤」〇〇「高橋」〇〇〇「田中」〇〇〇〇〇「山本」〇〇、、、というようなデータ構造です。ただ、箱の中に次の箱へのリンクを付けているので、見た目は順番道理になります。

  未経験から最短でエンジニア転職を目指す

■見え方は、上の配列と同じです。では、何が違うか?新しいデータが加わる際にデータ構造の違いが影響してきます。例えば、上の2つの構造をあいうえお順に並べ、新たなデータ「佐々木」を加える時、当然「加藤」と「高橋」の間に新たなデータ「佐々木」が入ります。ただ、データ構造が「配列」の場合ですと、データは順番に箱に入っている為、新たなデータを加える際は、ひとつずつ箱をずらしていかなければなりません。これに対して「リスト」の構造は、箱と箱の間に空欄があるので、その空白の箱に新たなデータの「佐々木」を入れてそれぞれの箱とリンクを付けることで新たなデータを加えることが出きます。

  TECH::EXPERT

■この2つの大きな違いは、新たなデータが加わった際の、処理手順が全然違います。

ツリー(データ構造)

■「ツリー」というデータ構造は、一つの箱から複数のリンクを張ることが出来る構造です。組織構造などのピラミッド型に構造によく使われます。部門やエリアによってデータ構造を整理することが出来、データを抽出しやすくなります。例えば、山本代表というデータがあり、その下に加藤役員のデータ、加藤役員が担当している関東エリアの責任者である「佐々木部長」のデータがあり、佐々木部長の部下の「高橋課長」のデータが続き、次に「田中」、「山本」などそれぞれの分類で検索もしやすくなります・

グラフ(データ構造)

■複雑に絡み合ったデータを表すことが出来ます。このデータは、上の名前の例でいうと、「阿部」から「加藤」「高橋」「田中」「山本」にそれぞれリンク付けしてもいるし、「加藤」や「高橋」は「田中」にリンクがついており、「田中」は「山本」、「阿部」にリンク付けをしており、、、など複雑に絡み合うような場合に使うデータ構造です。SNSなどで使われるデータ構造の様です。

まとめ

■それぞれのデータ構造には特徴があり、データの使い方によって構造を使い分けることで、データを抽出する時間を短縮したり、コンピュータへの負荷を軽くしたりと効果があります。また、初めに決めたデータ構造を変えるのは、難しく、先のデータの利用方法まで考えて、データ構造を作る必要がある様です。

分かりにくい点もあったかと思いますが、お読みいただきましてありがとうございました。過去に書いたテクノろいーの理解の為。、知っているべき「4つの項目+アルファ」の記事も下にリンク付けています! ↓ ↓

 

 

にほんブログ村 ライフスタイルブログ 自分らしい暮らしへ
にほんブログ村