組み込み開発のためのPython · レッスン 155 / 220
AVL木の平衡化を学ぶ
AVL木は部分木の高さ差を制限する自己平衡二分探索木です。回転によって高さを保ちますが、実装の境界条件を十分に試験する必要があります。
AVL木は部分木の高さ差を制限する自己平衡二分探索木です。回転によって高さを保ちますが、実装の境界条件を十分に試験する必要があります。 仕組みだけでなく、検証方法と運用上の注意も具体例で確認します。
基本の考え方
AVL木は部分木の高さ差を制限する自己平衡二分探索木です。回転によって高さを保ちますが、実装の境界条件を十分に試験する必要があります。
安全に試すための確認
計算量だけでなく入力条件、重複値、空データ、最悪ケースを確かめます。組み込み用途ではメモリ上限と実行時間を実測し、標準ライブラリの利用も検討してください。
コード例
手元のPython環境に貼り付ける前に、使用しているPythonの版と対象ライブラリの対応を確認してください。
def balance_factor(left_height, right_height):
return left_height - right_height
print(balance_factor(3, 2))手を動かす課題
LL・RR・LR・RLの各回転が必要となる挿入順を作図し、平衡係数を確認してください。