首页 > 编程语言 > 详细

c++ 实现二叉树高度

时间:2020-05-23 17:48:31      阅读:175      评论:0      收藏:0      [点我收藏+]

1
#include<iostream> 2 using namespace std; 3 4 //二叉树节点 5 struct BinaryNode 6 { 7 char ch; 8 BinaryNode* lchild; 9 BinaryNode* rchild; 10 }; 11 int HeightTree(BinaryNode* root); 12 //初始化二叉树 13 void CreateBinaryTree() { 14 BinaryNode node1 = { A,NULL,NULL }; 15 BinaryNode node2 = { B,NULL,NULL }; 16 BinaryNode node3 = { C,NULL,NULL }; 17 BinaryNode node4 = { D,NULL,NULL }; 18 BinaryNode node5 = { E,NULL,NULL }; 19 BinaryNode node6 = { F,NULL,NULL }; 20 BinaryNode node7 = { G,NULL,NULL }; 21 BinaryNode node8 = { H,NULL,NULL }; 22 //建立节点关系 23 node1.lchild = &node2; 24 node1.rchild = &node6; 25 node2.rchild = &node3; 26 node3.lchild = &node4; 27 node3.rchild = &node5; 28 node6.rchild = &node7; 29 node7.lchild = &node8; 30 cout << "二叉树高度"<< HeightTree(&node1)<<endl; 31 } 32 //二叉树遍历 33 int HeightTree(BinaryNode* root) { 34 if (!root) return 0; 35 int l = HeightTree(root->lchild); 36 int r = HeightTree(root->rchild) ; 37 return l > r ? l+1 : r+1; 38 } 39 int main() { 40 CreateBinaryTree(); 41 }

技术分享图片

 

图例 高度为4的二叉树

 

 技术分享图片

 

c++ 实现二叉树高度

原文:https://www.cnblogs.com/jibisheng/p/12943088.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!