PHP二叉树排序法如何改写为长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计218个文字,预计阅读时间需要1分钟。
python创建数组并插入元素到二叉树中array=[5, 2, 9, 3, 10, 13, 2, 1, 20, 26, 18, 62]binaryTree=BinaryTree()for value in array: binaryTree.insert(value)
对二叉树进行中序遍历binaryTree.inOrderTraverse(lambda key: print(key, end=' '))
$array = [5,2,9,3,10,13,2,1,20,26,18,62]; $binaryTree = new BinaryTree(); foreach($array as $value){ $binaryTree->insert($value); } $binaryTree->inOrderTraverse(function($key){echo $key.'';}); class Node{ public $key = null; public $left = null; public $right = null; public function __construct($key){ $this-> key = $key; } } class BinaryTree{ public $root = null; public function insert($key){ $newNode = new Node($key); if($this->root === null){ $this->root = $newNode; }else{ $this->insertNode($this->root,$newNode); } } private function insertNode($node, $newNode){ if($node->key < $newNode->key){ if($node->left === null){ $node->left = $newNode; }else{ $this->insertNode($node->left,$newNode); } }else{ if($node->right === null){ $node->right = $newNode; }else{ $this->insertNode($node->right, $newNode); } } } //排序取出数据 public function inOrderTraverse($callback){ $this->inOrderTraverseNode($this->root,$callback); } private function inOrderTraverseNode($node,$callback){ if($node !== null){ $this->inOrderTraverseNode($node->left,$callback); $callback($node->key); $this->inOrderTraverseNode($node->right,$callback); } } }
本文共计218个文字,预计阅读时间需要1分钟。
python创建数组并插入元素到二叉树中array=[5, 2, 9, 3, 10, 13, 2, 1, 20, 26, 18, 62]binaryTree=BinaryTree()for value in array: binaryTree.insert(value)
对二叉树进行中序遍历binaryTree.inOrderTraverse(lambda key: print(key, end=' '))
$array = [5,2,9,3,10,13,2,1,20,26,18,62]; $binaryTree = new BinaryTree(); foreach($array as $value){ $binaryTree->insert($value); } $binaryTree->inOrderTraverse(function($key){echo $key.'';}); class Node{ public $key = null; public $left = null; public $right = null; public function __construct($key){ $this-> key = $key; } } class BinaryTree{ public $root = null; public function insert($key){ $newNode = new Node($key); if($this->root === null){ $this->root = $newNode; }else{ $this->insertNode($this->root,$newNode); } } private function insertNode($node, $newNode){ if($node->key < $newNode->key){ if($node->left === null){ $node->left = $newNode; }else{ $this->insertNode($node->left,$newNode); } }else{ if($node->right === null){ $node->right = $newNode; }else{ $this->insertNode($node->right, $newNode); } } } //排序取出数据 public function inOrderTraverse($callback){ $this->inOrderTraverseNode($this->root,$callback); } private function inOrderTraverseNode($node,$callback){ if($node !== null){ $this->inOrderTraverseNode($node->left,$callback); $callback($node->key); $this->inOrderTraverseNode($node->right,$callback); } } }

