麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PHP > 正文

PHP實現二叉樹的深度優先與廣度優先遍歷方法

2024-05-04 23:39:19
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了PHP實現二叉樹的深度優先與廣度優先遍歷方法,涉及php針對二叉樹進行遍歷的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了PHP實現二叉樹的深度優先與廣度優先遍歷方法。分享給大家供大家參考。具體如下:

 

 
  1. #二叉樹的廣度優先遍歷 
  2. #使用一個隊列實現 
  3. class Node { 
  4. public $data = null
  5. public $left = null
  6. public $right = null
  7. #@param $btree 二叉樹根節點 
  8. function breadth_first_traverse($btree) { 
  9. $traverse_data = array(); 
  10. $queue = array(); 
  11. array_unshift($queue, $btree); #根節點入隊 
  12. while (!empty($queue)) { #持續輸出節點,直到隊列為空 
  13. $cnode = array_pop($queue); #隊尾元素出隊 
  14. $traverse_data[] = $cnode->data; 
  15. #左節點先入隊,然后右節點入隊 
  16. if ($cnode->left != null) array_unshift($queue, $cnode->left); 
  17. if ($cnode->right != null) array_unshift($queue, $cnode->right); 
  18. return $traverse_data; 
  19. #深度優先遍歷,使用一個棧實現 
  20. function depth_first_traverse($btree) { 
  21. $traverse_data = array(); 
  22. $stack = array(); 
  23. array_push($stack, $btree); 
  24. while (!empty($stack)) { 
  25. $cnode = array_pop($stack); 
  26. $traverse_data[] = $cnode->data; 
  27. if ($cnode->right != null) array_push($stack, $cnode->right); 
  28. if ($cnode->left != null) array_push($stack, $cnode->left); 
  29. return $traverse_data; 
  30. $root = new Node(); 
  31. $node1 = new Node(); 
  32. $node2 = new Node(); 
  33. $node3 = new Node(); 
  34. $node4 = new Node(); 
  35. $node5 = new Node(); 
  36. $node6 = new Node(); 
  37. $root->data = 1; 
  38. $node1->data = 2; 
  39. $node2->data = 3; 
  40. $node3->data = 4; 
  41. $node4->data = 5; 
  42. $node5->data = 6; 
  43. $node6->data = 7; 
  44. $root->left = $node1; 
  45. $root->right = $node2; 
  46. $node1->left = $node3; 
  47. $node1->right = $node4; 
  48. $node2->left = $node5; 
  49. $node2->right = $node6; 
  50. $traverse = breadth_first_traverse($root); 
  51. print_r($traverse); 
  52. echo ""
  53. $traverse = depth_first_traverse($root); 
  54. print_r($traverse); 

希望本文所述對大家的php程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 91福利在线观看 | 国产一级毛片高清 | 欧产日产国产精品乱噜噜 | 久久人人爽人人爽人人片av免费 | 毛片视频大全 | 日韩理论电影网 | 调教小男生抽打尿孔嗯啊视频 | 精品xxxx户外露出视频 | 九七在线视频 | 97干在线| 亚洲影视在线观看 | 国产妞干网 | 黄色一级电影网 | 91成人亚洲| 精品免费国产一区二区三区 | 国产精品99久久久久久久女警 | 伦理三区| 国产成人精品一区二区视频免费 | 国产外围在线 | 91精品免费在线 | 视频一区二区在线播放 | www.91tv| 国产成人小视频在线观看 | 欧美一级做一级爱a做片性 久久久资源网 | 九九黄色 | 国产成人精品一区二区视频免费 | 99视频在线观看视频 | 成人三区四区 | 在线免费观看毛片视频 | 嫩草91在线| 国产成人高清在线 | 在线成人www免费观看视频 | 小视频在线看 | 国产免费高清在线视频 | 欧美特一级片 | 亚洲成人免费电影 | lutube成人福利在线观看 | 天天看成人免费毛片视频 | 久久精品中文字幕一区二区三区 | 高清一区二区在线观看 | av在线播放免费 |