Binary Search Tree

/ˈbaɪnəri sɜːrtʃ triː/ バイナリサーチツリー

1. 各ノードが最大二つの子ノードを持ち、左の子孫ノードの値は自身より小さく、右の子孫ノードの値は自身より大きいという順序付けの性質を持つ木構造のデータ構造。

二分探索木は、データ要素を比較可能にソートされた順序で格納し、特定の要素を効率的に検索、挿入、削除できるデータ構造です。その名の通り、二分探索の原理を木構造に応用したもので、特定の値を素早く見つけるための強力なツールです。
A binary search tree stores elements in a way that facilitates quick retrieval. (二分探索木は、素早い検索を容易にする方法で要素を格納します。)

2. 探索、挿入、削除操作が平均的には対数時間(O(log n))で完了する効率的なデータ構造ですが、木が平衡していない場合は最悪ケースで線形時間(O(n))になる可能性がある。

二分探索木は平均的には非常に高いパフォーマンスを発揮し、特に大量のデータを扱う場合にその効率性が際立ちます。しかし、データの挿入順序によっては木が極端に偏り、検索効率が連結リスト並みに低下するリスクがあります。この問題を解決するために、AVL木や赤黒木のような「平衡二分探索木」が開発され、常に最適なパフォーマンスを維持するように設計されています。
An unbalanced BST can lead to O(n) worst-case time complexity for operations. (アンバランスなBSTは、操作に対してO(n)の最悪ケース時間計算量につながる可能性があります。)
関連