アルゴリズム一覧

NO IMAGE

糸付き2分木/Threaded Binary Tree

糸付き2分木/Threaded Binary Tree 子ノードがない場合に間順の前と後ろをそれぞれ左の子ポインタと右の子ポインタに設定しておいた木構造である。この場合、子ノードの有無はポインタ以外のフィールドで示す必要がある。これを使うと、間順走査の効率が非常によくな...

NO IMAGE

[Python] 2分木/binary tree

Pythonで2分木を実装します。 2分木 二分木(binary tree; 二進木、バイナリツリー)は、データ構造の1つである。根付き木構造の中で、あるノード(節点 node)が持つ子の数が高々2であるものをいう。典型的には2つの子はそれぞれ「左」「右」と呼ばれ...

NO IMAGE

[Python] 2分探索

2分探索 Binary Search Pythonで2分探索を実装します。 二分探索(にぶんたんさく、英: binary search、BS)やバイナリサーチとは、ソート済み配列に対する探索アルゴリズムの一つ。 出典: フリー百科事典『ウィキペディア(Wikip...

NO IMAGE

[Python] Stackを実装

Stack スタックは、コンピュータで用いられる基本的なデータ構造の1つで、データを後入れ先出し(LIFO: Last In First Out; FILO: First In Last Out)の構造で保持するものである。抽象データ型としてのそれを指すこともあれば、そ...

NO IMAGE

[Python] 2 Sum問題

2 Sum問題 与えられた整数配列Aと1つの整数Kに対して, Aの中からその合計値がKとなるような 2つの整数を見つけ, その2つを返却せよ. (条件を満たす2つの整数は, 必ず配列A内に1組だけ存在するものと考えて良い) 入力: numbers={2, 7,...