二分探索木とヒープのメモ

20230714

二分探索木とヒープ素人です。


以下はメモです。(多分間違いあり)


二分探索木・・・
根は何でもいい。(最大というわけではない。)
作成する時は入れる順。(結構楽)

左の子<親<右の子になる
(全体として、葉の左が最小。葉の右が最大)


探索は、根から大小を比較していく。

値の削除は子の末端(葉)のうち、左の枝の右側は、右の枝の左側と入れ替え。
(二分探索木は。全体は変わらない。)

計算量Oは、最小log2n、最大n
(log2nは2分探索と同じ、
nは線形探索と同じ。
(線形探索nになるのは、枝が左側に1本に偏って、葉が検索値の場合))

*****************
ヒープ・・・
根(root)が一番大きい。
親は子よりも大きい
子の左右は左>右
作成する時は入れ替えあり。(ヒープの再構成)
heapは配列で見ると、親子子みたいになっている
(→二分木は、ポインター使うが、ヒープはいらない。)


再構成は根から、入れ替えて、ずっと再構成必要