ホームページ  >  記事  >  バックエンド開発  >  PHP SPL データ構造ヒープ (SplHeap) の簡単な例

PHP SPL データ構造ヒープ (SplHeap) の簡単な例

*文
*文オリジナル
2017-12-27 09:52:111591ブラウズ

この記事では、PHP SPL 標準ライブラリのデータ構造ヒープ (SplHeap) の簡単な使用例を中心に紹介し、最大ヒープ (SplMaxHeap) と最小ヒープ (SplMinHeap) の関連知識についても説明します。お役に立てれば幸いです。

ヒープは、優先キューを実装するために設計されたデータ構造であり、バイナリ ヒープ (バイナリ ツリーの一種) を構築することによって実装されます。最大のルート ノードを持つヒープは最大ヒープまたは大ルート ヒープと呼ばれ、最小のルート ノードを持つヒープは最小ヒープまたは小ルート ヒープと呼ばれます。バイナリ ヒープは、ソート (ヒープ ソート) にもよく使用されます。
以下の通り: 最小ヒープ (どのノードの優先順位もその子ノードよりも低くなりません)

PHP SplHeap の実装を見てください:

明らかに、これは抽象クラス、最大ヒープ (SplMaxHeap) です。そして最小ヒープ(SplMinHeap)はそれを継承して実装されています。 max-heap と min-heap のための追加メソッドはありません
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;
}

関連する推奨事項:

PHP SPL の使用法

PHP SPL The Lost Gem_ PHP チュートリアル

PHP SPL の使い方とその威力_PHP チュートリアル

以上がPHP SPL データ構造ヒープ (SplHeap) の簡単な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。