二分探索木の典型問題とアルゴリズムパターン

二分探索木(BST)は、左部分木のすべてのノードが根より小さく、右部分木のすべてのノードが根より大きいという性質を持つ。この構造により、中間順走査(in-order traversal)を行うと昇順の列が得られる。この特性を活用することで、多くの問題を効率的に解くことができる。 最小絶対差(LeetCode 530) BSTの中間順走査により昇順列を得られることを利用し、隣接要素 ...

6月9日 19:09 投稿

スプレイ木(Splay Tree)の実装詳細と拡張機能解説

スプレイ木の概要 スプレイ木は、動的データ構造の一種であり、二叉探索木のバランスを保つための手法です。Daniel Sleator と Robert Tarjan によって提案されました。その特徴として、明示的なバランス操作を行わずとも、アクセスパターンの履歴に基づいて自動的に調整が行われる点が挙げられます。 この構造では、最近参照された要素を根へと移動させる「スプレイ」操作 ...

5月20日 12:22 投稿