PHP SPL標準ライブラリのデータ構造ヒープ(SplHeap)の簡単な使用例
ヒープ(Heap)は、優先キューを実現するために設計されたデータ構造であり、二叉ヒープ(二叉樹の一種)を構築することによって実現される。ルートノードの最大のヒープは最大ヒープまたは大きいルートヒープと呼ばれ、ルートノードの最小のヒープは最小ヒープまたは小さなルートヒープと呼ばれています。二叉の山は並べ替えにもよく使われます。
最小ヒープ(任意のノードの優先度はそのサブノードより小さくない)
PHP SplHeapの実装を参照してください。
それは明らかに抽象的なクラスで、最大の山(SplMaxHeap)と最小の山(SplMinHeap)はそれを引き継いで実現されます。一番山と一番小さい山は別の方法がありません。
SplHeapの簡単な使用は以下の通りです。
最小ヒープ(任意のノードの優先度はそのサブノードより小さくない)
PHP SplHeapの実装を参照してください。
それは明らかに抽象的なクラスで、最大の山(SplMaxHeap)と最小の山(SplMinHeap)はそれを引き継いで実現されます。一番山と一番小さい山は別の方法がありません。
SplHeapの簡単な使用は以下の通りです。
class MySimpleHeap extends SplHeap
{
//compare() ,
public function compare( $value1, $value2 ) {
return ( $value1 - $value2 );
}
}
$obj = new MySimpleHeap();
$obj->insert( 4 );
$obj->insert( 8 );
$obj->insert( 1 );
$obj->insert( 0 );
echo $obj->top(); //8
echo $obj->count(); //4
foreach( $obj as $number ) {
echo $number;
}