ツリー構造とはどんな意味?分かりやすく説明します

ツリー構造とはどんな意味?分かりやすく説明します

ツリー構造という用語を知っていますか?データ構造の一種で、ネットで調べると、難しく解説されているページをよく見かけます。データ構造以外に、組織図などにも使われるツリー構造について、今回は説明したいと思います。

ツリー構造とはなにか?

ツリー構造とはなにか?
ツリー構造とは、木構造とも呼ばれているデータ構造の一種です。1つのデータの中に階層を分けてデータを配置をして管理する構造のことを言います。各階層ごとに親子関係を持ち、親は複数の子を持つことが出来ます。

ツリー構造図
図解すると上記になります。

一番上にあるものを「親」、枝分かれしているものを「子」と言います。親と子の内容(画像では四角の部分)を「ノード」と言います。そして、親と子(ノード)をつなぐ線のことを「エッジ」と言います。

最新情報をいち早くお届け!

無料会員登録していただくと、
会員限定の特別コンテンツ記事を最後まで
読むことができます!
その他、更新情報・イベント情報を
お届けいたします。

ツリー構造にはどんな用語があるの?

ツリー構造にはどんな用語があるの?
ツリー構造とは、複数のデータが各階層に枝分かれした形式です。ツリー構造の中には、ノードやエッジの他に、ノードの数や組合せにも様々な呼び方があります。

今回は「階層が深くなるとはどういう事なのか」「二分木」「B木」についてご紹介させていただきます。今回紹介した用語以外にも様々な用語かあるのでこちらもご参考ください。

参考:IT用語辞典

階層が多くなると根が深くなる?

階層が多くなると根が深くなる?
ツリー構造では、階層が増えていくことを「深い」といいます。植物に対して、根が土の奥まであることを「根が深い」と言うのと同じですね。深さは、最初の親と子の階層を0とし、下に1つ階層が増えるごとに、1カウントしていきます。

また、親と子(ノード)の部分を「節」、親と子をつなぐ線(エッジ)部分を「枝」、階層で一番最初にくる親子を「根」、そして階層が一番最後の親子が「葉」と植物に基づいた呼び方もあります。

二分木とはなにか?

二分木とはなにか?
バイナツリーとも呼ばれ、親も子も2つまでで制限された要素を持っているので「二分木」といいます。二分木はツリー構造の中で最も単純な構造の木とも言えます。そして、一番最初の親(根)から2つに分かれた子の下に、新たに子がそれぞれ2つずつ分かれることを「完全二分木」といいます。また、親子が2つ以上の子をもつ要素を「多分木」といいます。

 B木とはなにか?

B木とはなにか?
B木とは、子の要素が2つ以上ある「多分木」を基にしているものです。平衡木(バランス木)とも呼ばれ、親からある一定数の子を持ち、それぞれ分岐していることを言います。

例えば親から3つ子をもつ要素から、更に3つずつ子を持ち分岐していくと言うことです。データベースの管理ベースは、平衡木(バランス木)でもあるB木を採用していることが多くあります。

ツリー構造を用いたWEBサイトとは

ツリー構造を用いたWEBサイトとは
ツリー構造を用いたWEBサイトの構成をご紹介いたします。

WEBサイトを公開するうえで、サーバーにコーディングをしたデータをアップする必要があります。サーバーデータの中で、ファイルがごちゃごちゃしていると、他人がサイト更新をする際に、どこに何があるのか分からなくなるので、誰が編集してもわかりやすいように、ファイルを整理する必要があります。ファイルをサイト階層ごとにまとめることを「階層構造」と言います。階層構造は一つのサイトに、大まかないくつかの情報を設置します。

例えば、トップメニューに企業情報、商品紹介、関連情報、お問い合わせなどを設置します。第一階層にトップがあり、第一階層の中に第二階層のファイルを作成し、その中に企業情報、商品紹介、関連情報、お問い合わせなどを入れます。ツリー構造の用語を使うと、第一階層が「親」で中にあるトップと第二階層のファイルが「子」ということになります。

URLの形にすると下記のとおりです。

トップ:http://www.●●●●.co.jp/index.html
企業情報:http://www.●●●●.co.jp/company/index.html

「index」の前にある「/」が階層になっています。「company/index.html」は第二階層の中にある、企業情報の住所になっています。

上記のように、階層ごとにまとめることで、サイトが見やすく編集がしやすくなります。

ツリー構造を使ったサイトマップ

ツリー構造を使ったサイトマップ
ツリー構造を使った構成は、サイトマップでもよく用いられます。パンくずリストを利用しているサイトですと、分かりやすいかと思います。

「トップ>商品紹介>商品名A」とすると、トップを親として、子である商品紹介から商品名Aと枝分かれしていきます。つまり「トップ>」の「>」で階層が変化しているのです。また、大きなコンテンツから細かい内容に移動できるので探しやすくなっています。コンテンツの内容が多くなってしまう場合は、サイトメニューで重要なコンテンツ内容を「ヘッダーメニュー」もしくは「グローバルナビゲーション」に設定し、重要コンテンツから詳細な情報など、サイト全体の情報を見やすくしたものを「フッター」に設置すると良いでしょう。

ツリー構造とディレクトリ構造

ツリー構造とディレクトリ構造
ツリー構造を用いたファイルを、サイト階層ごとにまとめる階層構造は「ディレクトリ構造」とも言われています。

ディレクトリとは、フォルダと似た意味を持っています。WindowsやMACをプログラミングをする時は、フォルダではなく「ディレクトリ」と呼ぶ事が多いですが、主にハードディスクの中に、ファイルの保管場所を、ディレクトリと呼びます。ディレクトリの中に、階層を分けて内容を入れ、ツリー構造を用いることで、ディリクトリ構造ができるのです。

ツリー構造を用いてデータやサイトをわかりやすくまとめてみよう

ツリー構造を用いることで、サイトを閲覧するユーザーや、他の作業者に対して、わかりやすくサイト内容を伝えることができます。要素ごとにサイト内容をまとめておけば、サイトのテーマ性が高まり検索欄の順位が上がるなどのメリットもあり、SEO対策もできます。ツリー構造が様々な場面で役立てると幸いです。

LINEで送る
Pocket

  • この記事を書いた人
  • 最新記事