二分探索ツリー紹介&PHP定義ノード


この記事では、 について説明し、PHPのノードを (Binary Search Tree)コードで定義します.
1.ツリー
1.1ツリー図
1.2ツリーノード定義
//          
class Node{
    $e; //    
    $left; //   
    $right;//   
}

Tips:ツリーにはノードごとに最大2人の息子がおり、ノードごとに最大1人の父親がいます.
1.3ツリーの特徴
  • 二叉木は天然の再帰構造を有し、各ノードの左息子または右息子も である.
  • 二叉樹がいっぱいとは限らず、左の息子かまた息子しかいないかもしれません.
  • ノードまたはNULLは、ツリーとしても使用できます.

  • 2.二分検索ツリー
    2.1二分検索ツリーの特徴
  • 二分探索ツリーは二叉木です.
  • 各ノードの要素の値は、左の息子のすべてのノードの値よりも大きい.
  • 各ノードの要素の値は、右の息子のすべてのノードの値よりも小さい.
  • 各サブツリーも二分探索ツリーです.
  • 二分検索ツリーのクエリー速度が速い.
  • に格納されている要素は、比較性が必要です.

  • 2.2二分探索木図
    2.3 PHPコード定義ノード
    root = null;
            $this->size;
        }
        /**
         *            
         * @return mixed
         */
        public function getSize() {
            return $this->size;
        }
        /**
         *              
         * @return bool
         */
        public function isEmpty(): bool {
            return $this->size == 0;
        }
    }
    class Node
    {
        public $e;
        public $left = null;
        public $right = null;
        /**
         *             
         * Node constructor.
         * @param $e
         */
        public function __construct($e) {
            $this->e = $e;
        }
    }

    コードウェアハウス:https://gitee.com/love-for-po...
    コードをスキャンしてアイン詩賢に注目する