[Python] 2分ヒープ (1)
2分ヒープ 2分ヒープを理解して、Pythonで実装します。 まず、heap とは、「積み重なった山のようなもの」です。a heap of stones と言えば、石が山のように積み重なっているものです。 ヒープソートは、この山のように積み重なったものの一番上...
Freedom is a responsible choice.
2分ヒープ 2分ヒープを理解して、Pythonで実装します。 まず、heap とは、「積み重なった山のようなもの」です。a heap of stones と言えば、石が山のように積み重なっているものです。 ヒープソートは、この山のように積み重なったものの一番上...
以下を参照しています。 AVL Tree | Set 1 (Insertion) AVL Tree | Set 2 (Deletion) また、ざっくりとした説明は、以下の動画が一番分かりやすかったです。 インドの人は説明が上手です。 ...
算術式の2分木表現 2分木を用いることで、式を表現することができます。 図の例では、二項演算子を用いた算術式を二分木で表現している。この式を逆ポーランド記法、中置記法、ポーランド記法で記述すると、それぞれa b + c d - ×e f + ÷(a + b...
糸付き2分木/Threaded Binary Tree 子ノードがない場合に間順の前と後ろをそれぞれ左の子ポインタと右の子ポインタに設定しておいた木構造である。この場合、子ノードの有無はポインタ以外のフィールドで示す必要がある。これを使うと、間順走査の効率が非常によくな...
Pythonで2分木を実装します。 2分木 二分木(binary tree; 二進木、バイナリツリー)は、データ構造の1つである。根付き木構造の中で、あるノード(節点 node)が持つ子の数が高々2であるものをいう。典型的には2つの子はそれぞれ「左」「右」と呼ばれ...