🍣
木構造とは
木構造(Tree Structure)
木構造は、データを階層的に表現するためのデータ構造の一つです。
主な特徴
- 親子関係:要素間に親子関係がある
- ルート:最上位の要素(根)が一つ存在する
- 枝分かれ:一つの親から複数の子が生まれる
- 葉:子を持たない要素(末端)
具体例
ファイルシステムの構造を木構造で表現すると
ルートディレクトリ/
├── ドキュメント/
│ ├── 仕事/
│ │ └── 企画書.docx
│ └── 個人/
│ └── 日記.txt
└── 画像/
├── 写真1.jpg
└── 写真2.png
プログラミングでの表現
class Node:
def __init__(self, value):
self.value = value
self.children = []
# ルートノードの作成
root = Node("ルートディレクトリ")
# 第2階層のノードを作成
documents = Node("ドキュメント")
images = Node("画像")
# ルートノードに子ノードを追加
root.children = [documents, images]
# 第3階層のノードを作成し、親ノードに追加
documents.children = [Node("仕事"), Node("個人")]
images.children = [Node("写真1.jpg"), Node("写真2.png")]
DOMとの関連
HTMLのDOM構造も木構造の一例です
<html>
<head>
<title>サンプルページ</title>
</head>
<body>
<h1>こんにちは</h1>
<p>これは段落です</p>
</body>
</html>
この構造は以下のような木構造として表現できます
html
├── head
│ └── title
│ └── "サンプルページ"
└── body
├── h1
│ └── "こんにちは"
└── p
└── "これは段落です"
木構造を理解することで、DOMの操作やデータの階層的な管理がより直感的に行えるようになります。
Discussion