【にぶんぎ】
二分木(バイナリツリー) とは?
💡 「左か右か」の2択で高速にデータを探す
📌 このページのポイント
二分木って何に使うの?
二分探索木って何?
左の子<親<右の子という規則を満たす二分木だよ。データを探すとき、探したい値が親より小さければ左へ、大きければ右へ進む。うまくバランスが取れていれば、n個のデータからO(log n)で検索できる。1000個のデータなら約10回の比較で見つかるんだ
バランスが崩れるとどうなるの?
走査(トラバーサル)って何種類あるの?
主に3種類。前順(preorder:親→左→右)、中順(inorder:左→親→右)、後順(postorder:左→右→親)。二分探索木を中順走査すると昇順にデータが取り出せる。これはIPA試験でもよく出題されるから、小さい木で手を動かして練習するのがおすすめだよ
まとめ:ざっくりこれだけ覚えればOK!
「二分木」って出てきたら「各ノードが最大2つの子を持つ木構造」と思えればだいたいOK!
📖 おまけ:英語の意味
「Binary Tree」 = 二分木・二項木
💬 Binary(2つの)Tree(木)。データベースのインデックスからコンパイラの構文解析まで幅広く使われるよ