PHP实现二叉树的深度优先与广度优先遍历方法
来源:诚信在线    发布时间:2017-07-03 13:17:38

  $traverse_data[] = $cnode->data;

  $node4->data = 五;

  $node2->data = 三;

  while(!empty($queue)){#连续输出节点,直到行列步队为空

  $stack = array();

  }

  class Node {

  if ($cnode->left != null) array_push($stack, $cnode->left);

  $traverse_data[] = $cnode->data;

  #二叉树的广度优先遍历

  if ($cnode->right != null) array_unshift($queue, $cnode->right);

  $node6 = new Node();

  你能够感兴趣的文章:php完成的二叉树遍历算法示例PHP完成的线索二叉树及二叉树遍历要领详解PHP Class&Object -- 剖析PHP完成二叉树PHP Class&Object -- PHP 自排序二叉树的深化剖析php FLEA外二叉树数组的遍历输出PHP组织二叉树算法示例

  public$left=null;

  function breadth_first_traverse($btree) {

  }

  本文实例报告了PHP完成二叉树的深度优先取广度优先遍历要领。分享给人人求人人参考。详细以下:

  $node1->data = 二;

  public$data=null;

  $node2 = new Node();

  echo "";

  array_unshift($queue,$btree);#根节点入队

  $traverse = breadth_first_traverse($root);

  $node6->data = 七;

  return$traverse_data;

  $node5->data = 六;

  $node3 = new Node();

  #深度优先遍历,应用一个栈完成

  $node2->right = $node6;

  希翼本文所述对于各人的php程序设计有所扶助。

  return $traverse_data;

  print_r($traverse);

  $traverse_data = array();

  function depth_first_traverse($btree) {

  }

  }

  }

  $root->right = $node2;

  $root->left = $node1;

  $node4 = new Node();

  $cnode = array_pop($queue); #队首元素没队

  #应用一个行列完成

  $traverse_data=array();

  $root->data = 一;

  $node1->right = $node4;

  public$right=null;

  if ($cnode->right != null) array_push($stack, $cnode->right);

  array_push($stack, $btree);

  $node2->left = $node5;

  $node5 = new Node();

  $queue=array();

  $node3->data = 四;

  $node1->left = $node3;

  #@param $btree 二叉树根节点

  $node1 = new Node();

  #右节点先入队,而后左节点入队

  print_r($traverse);

  $traverse = depth_first_traverse($root);

  if ($cnode->left != null) array_unshift($queue, $cnode->left);

  $root = new Node();

  $cnode = array_pop($stack);

  while (!empty($stack)) {


诚信在线 除注明原创以外,其余均来自互联网以及微信朋友圈,如有侵权请联系站长立即删除!
文章地址:http://www.my517517.com/DP/20170703404.html



上一篇:简单PHP上传图片、删除图片实现代码 下一篇:ionic 上拉菜单ActionSheet实例代码