php 二叉树判断节点的位置,二分搜索树介绍&PHP 定义节点

这篇文章是介绍 二叉树 和 二分搜索树,然后通过 PHP 代码定义一下 二分搜索树(Binary Search Tree) 的节点。

1.二叉树

1.1 二叉树图示

ce39d8b14775b823920fe71bc0fd3bf1.png

1.2 二叉树节点定义//二叉树具有唯一根节点

class Node{

$e; //节点元素

$left; //左儿子

$right;//右儿子

}Tips:二叉树每个节点最多有两个儿子,每个节点最多有一个父亲。

1.3 二叉树的特点二叉树具有天然的递归结构,每个节点的左儿子或右儿子也是 二叉树。

二叉树不一定是满的,可能只有左儿子或又儿子。

一个节点或 NULL 也可以看做一个二叉树。

2.二分搜索树

2.1 二分搜索树特点二分搜索树是二叉树。

每个节点的元素的值都要大于左儿子所有节点的值。

每个节点的元素的值都要小于右儿子所有节点的值。

每个子树也是二分搜索树。

二分搜索树查询速度快。

存储的元素必须要有比较性。

2.2 二分搜索树图示

dae7ef521a0df9bf69c2171f0c8045c0.png

2.3 PHP 代码定义节点<?php

class BinarySearchTree

{

private $root;

private $size;

/**

* 构造函数 初始化二分搜索树

* BinarySearchTree constructor.

*/

public function __construct() {

$this->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;

}

}

扫码关注爱因诗贤

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值