ホームページ  >  記事  >  バックエンド開発  >  PHPのデータ構造ヒープ(SplHeap)の簡単な使用例 SPL標準ライブラリ_PHPチュートリアル

PHPのデータ構造ヒープ(SplHeap)の簡単な使用例 SPL標準ライブラリ_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:53:43863ブラウズ

PHP SPL標準ライブラリのデータ構造ヒープ(SplHeap)の簡単な使用例

この記事では、PHP SPL標準ライブラリのデータ構造ヒープ(SplHeap)の簡単な使用例を中心に紹介しています。最大ヒープ (SplMaxHeap) 、最小ヒープ (SplMinHeap) の関連知識、それを必要とする友人はそれを参照できます

ヒープとは、プライオリティキューを実装するために設計されたデータ構造で、バイナリヒープ(バイナリツリーの一種)を構築することで実装されます。最大のルート ノードを持つヒープは最大ヒープまたは大ルート ヒープと呼ばれ、最小のルート ノードを持つヒープは最小ヒープまたは小ルート ヒープと呼ばれます。バイナリ ヒープは、ソート (ヒープ ソート) にもよく使用されます。

以下の通り: 最小ヒープ (どのノードの優先順位もその子ノード以上)

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

当然抽象クラスであり、最大ヒープ(SplMaxHeap)と最小ヒープ(SplMinHeap)はそれを継承して実装されています。 max-heap と min-heap には追加のメソッドはありません

SplHeap の簡単な使用法は次のとおりです:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

クラス MySimpleHeap は SplHeap を拡張します

{

//compare() メソッドは、2 つの要素のサイズを比較し、ヒープ内での位置を決定するために使用されます

パブリック関数 Compare( $value1, $value2 ) {

return ( $value1 - $value2 );

}

}

$obj = 新しい 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 ) {

$number をエコー;

}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1000101.html技術記事この記事では主にPHP SPL標準ライブラリのデータ構造ヒープ(SplHeap)の簡単な使用例を紹介しています この記事では最大ヒープについても解説しています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。