热点
边缘AI跨界融合:站长必知的技术赋能新趋势,reasoning_content:我们要求以边缘AI开发工程师的口吻写一个标题,关于[跨界融合新趋势:站长必知的技术赋能资讯]标题要简短精炼,30字以内需要体现跨界融合、技术赋能、站长必知口吻是边缘AI开发工程师,可以带点技术感、前沿感比如:边缘AI跨界融合:站长必知的技术赋能新趋势 但字数可能超?数一下:边缘AI跨界融合:站长必知的技术赋能新趋势 一共18个字?边缘AI跨界融合:站长必知的技术赋能新趋势 实际汉字:边、缘、A、I、跨、界、融、合、:、站、长、必、知、的、技、术、赋、能、新、趋、势 共20个字符(包括英文AI算两个字母?通常按汉字算,AI是两个英文字母,但标题中常见严格按汉字:边缘AI跨界融合:站长必知的技术赋能新趋势 其中A和I是英文字母,算两个但题目说字数,通常中英文混合,一个英文字母算半个字?保险起见用全中文可以改为:边缘AI跨界融合站长必知技术赋能新趋势 去掉冒号,但可能不够清晰或者:边缘AI技术赋能:站长必知的跨界融合新趋势 共16字?计算:边缘AI技术赋能:站长必知的跨界融合新趋势 汉字:边、缘、A、I、技、术、赋、能、:、站、长、必、知、的、跨、界、融、合、新、趋、势 21个字符也可以精简为边缘AI赋能站长:跨界融合新趋势 13字更简洁但需要体现技术赋能资讯,标题里可以不加资讯二字,因为题目是关于[跨界融合新趋势:站长必知的技术赋能资讯]的标题,所以标题可以自拟我直接输出
科技站长:容器化转型系统优化与高效编排实战,reasoning_content:我们要求以科技站长的口吻,写一个与“技术、科技”相关,关于[容器化转型:系统优化与高效编排实战手册]的标题直接输出标题,不要加说明,字数30字以内需要简短精炼,体现科技站长的专业口吻,内容围绕容器化转型、系统优化、高效编排实战手册nn可能的容器化转型实战:系统优化与高效编排手册或者更精炼:容器化转型:系统优化与编排实战指南注意字数可以加入“站长”口吻,比如“科技站长力荐:容器化转型系统优化与编排实战”但要求30字内试写几个:nn1. 容器化转型:系统优化与高效编排实战手册(15字)n2. 科技站长谈容器化转型:系统优化与编排实战(17字)n3. 容器化转型实战:系统优化与高效编排指南(16字)n4. 系统优化与高效编排:容器化转型实战手册(16字)n5. 科技站长推荐:容器化转型系统优化编排实战(18字)nn第一个最简洁,但缺少口吻第三个比较平衡注意原需求是“以'科技站长'的口吻”,所以最好出现“科技站长”字样,但也不是必须,只要口吻像站长就行但为了明确,建议加入考虑30字,可以这样:“科技站长:容器化转型系统优化与高效编排实战”(17字)或者“【科技站长】容器化转型:系统优化与编排实战手册”(19字)最终选择:科技站长力荐:容器化转型系统优化与编排实战(18字)但“力荐”可能多余或者“科技站长实战:容器化转型系统优化与高效编排”(18字)再简化:“容器化转型:科技站长系统优化与编排实战”(17字)注意语序nn我认为最合适的是:“科技站长:容器化转型系统优化与高效编排实战”(17字)直接输出
17 9 月 2026, 周四

PHP排序二叉树基本功能实现方法示例

本篇章节讲解PHP排序二叉树基本功能实现方法。分享给大家供大家参考,具体如下:

这里演示了排序二叉树节点的插入,中序遍历,极值的查找和特定值的查找的功能.

基本没有提供什么概念和定义.建议先简单了解一下本文提供的几个概念在来看本文.

实际上,只是简单的提供了代码,注释也很少,各位辛苦了.

二叉树:

在计算机科学中,二叉树是每个节点最多有两个子树的树结构。

排序二叉树:

左孩子节点的值小于父节点的值,右孩子节点的值大于父节点的值.

几个概念:

根节点
叶子节点
左子树
右子树
中序遍历
前序遍历
后序遍历
二叉树查找

中序遍历:

先遍历左子树,在遍历本节点,在遍历右节点.遍历之后的结果就是排序好之后的结果

key = $key; } } class BinaryTree{ public $root; public $sortArr = []; // 插入节点 public function insertNode($node,$newNode){ if ($node->key < $newNode->key){ // 如果父节点小于子节点,插到右边 if (empty($node->right)){ $node->right = $newNode; }else{ $this->insertNode($node->right,$newNode); } }elseif ($node->key > $newNode->key){ // 如果父节点大于子节点,插到左边 if (empty($node->left)){ $node->left = $newNode; }else{ $this->insertNode($node->left,$newNode); } } } public function insert($key){ $newNode = new Node($key); if (empty($this->root)){ $this->root = $newNode; }else{ $this->insertNode($this->root,$newNode); } } // 中序遍历 public function midSort(){ $this->midSortNode($this->root); } public function midSortNode($node){ if (!empty($node)){ $this->midSortNode($node->left); array_push($this->sortArr,$node->key); $this->midSortNode($node->right); } } // 寻找极值 public function findMin(){ //不断的找它的左子树,直到这个左子树的节点为叶子节点. if (!empty($this->root)){ $this->findMinNode($this->root); } } public function findMinNode(Node $node){ if (!empty($node->left)){ $this->findMinNode($node->left); }else{ echo '这个二叉树的最小值为:'.$node->key; } } public function findMax(){ if (!empty($this->root)){ $this->findMaxNode($this->root); } } public function findMaxNode(Node $node){ if (!empty($node->right)){ $this->findMaxNode($node->right); }else{ echo '这个二叉树的最大值为:'.$node->key; } } // 查找特定的值 public function find($val = ''){ if (!empty($val)){ $this->findNode($this->root,$val); } } public function findNode(Node $node,$val){ if ($node->key == $val){ echo '找到'.$val.'了'; }else if ($node->key > $val){ // 如果 父节点的值 大于要查找的值,那么查找它的左子树 if (!empty($node->left)){ $this->findNode($node->left,$val); }else{ echo '没有这个东西!'; } }else if ($node->key < $val){ if (!empty($node->right)){ $this->findNode($node->right,$val); }else{ echo '没有这个东西!'; } } } } $tree = new BinaryTree(); // 节点插入 $nodes = array(8,3,10,1,6,14,4,7,13); foreach ($nodes as $value){ $tree->insert($value); } // 中序遍历 //$tree->midSort(); //print_r($tree->sortArr); // 寻找极值 //$tree->findMin(); //$tree->findMax(); // 查找特定的值 $tree->find(7); echo "
"; $tree->find(11);

运行结果:

找到7了
没有这个东西!

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》

希望本文所述对大家PHP程序设计有所帮助。

dawei

【声明】:佛山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

您错过了