当前位置: 首页 > news >正文

房产中介网站开发模板南通企业网站排名优化

房产中介网站开发模板,南通企业网站排名优化,中山网站制作服务,自己做网站需要什么技术问题定义如果我们把二叉树看成一个图#xff0c;父子节点之间的连线看成是双向的#xff0c;我们姑且定义距离为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。计算一个二叉树的最大距离有两个情况:情况A: 路径经过左子树的最深节… 问题定义如果我们把二叉树看成一个图父子节点之间的连线看成是双向的我们姑且定义距离为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。计算一个二叉树的最大距离有两个情况:情况A: 路径经过左子树的最深节点通过根节点再到右子树的最深节点。情况B: 路径不穿过根节点而是左子树或右子树的最大距离路径取其大者。思路1后序遍历每一节点找出该节点到最右边的距离以及最左边的距离2找到之和最大的即可。//需保存左子树中最长距离、右子树最长距离和当前树的深度。//以下提供两种方法。#includeiostream #includestack using namespace std; int max(int l,int r) {return lr?l:r; } struct BinaryTreeNode {int data;BinaryTreeNode* left;BinaryTreeNode* right;BinaryTreeNode(int x):data(x), left(NULL), right(NULL){} }; class BinaryTree { protected:BinaryTreeNode* _root;BinaryTreeNode* _CreateBinaryTree(int* arr, int index, int size){BinaryTreeNode* root  NULL;if (index  sizearr[index] ! #){root  new BinaryTreeNode(arr[index]);root-left  _CreateBinaryTree(arr, index, size);root-right  _CreateBinaryTree(arr, index, size);}return root;}public:BinaryTree():_root(NULL){}BinaryTree(int *arr, int size){int index  0;_root  _CreateBinaryTree(arr, index, size);}/*int MaxTwoNodeDistance(){if(_rootNULL){return 0;}int maxDistance0;_Distance(_root,maxDistance);return maxDistance;}*/int MaxTwoNodeDistance(){if(_rootNULL)return 0;int maxLeft0;int maxRight0;return _Distance(_root,maxLeft,maxRight);}int Height(){return _Height(_root);}void PreOrder_Non(){if (_root  NULL)return;BinaryTreeNode* cur  _root;stackBinaryTreeNode* s;s.push(_root);while (!s.empty()){cur  s.top();printf(%d , cur-data);s.pop();if (cur-right)s.push(cur-right);if (cur-left)s.push(cur-left);}cout  endl;} protected:int _Distance(BinaryTreeNode* root,int left,int right){if(rootNULL){left0;right0;return 0;}int mll,mlr,mrl,mrr,dl,dr;if(root-leftNULL){left0;dl0;}else{dl_Distance(root-left,mll,mlr);leftmax(mll,mlr)1;}if(root-rightNULL){right0;dr0;}else{dr_Distance(root-right,mrl,mrr);rightmax(mrl,mrr)1;}return max(max(dl,dr),leftright);}/*int _Distance(BinaryTreeNode* root,int max){if(rootNULL)return 0;int maxLeft0;int maxRight0;if(root-left){maxLeft_Distance(root-left,max);if(maxLeftmax)maxmaxLeft;}if(root-right){maxRight_Distance(root-right,max);if(maxRightmax)maxmaxRight;}if(maxLeftmaxRightmax)maxmaxLeftmaxRight;return maxLeftmaxRight?maxLeft1:maxRight1; }*/int _Height(BinaryTreeNode* root){if (root  NULL)return 0;int left  _Height(root-left);int right  _Height(root-right);return left  right ? left  1 : right  1;}}; int main() {int arr1[]{1,2,4,5,#,#,#,7,#,#,3,#,6};int arr2[]{1,2,3,4,#,#,#,5,#,6};BinaryTree t1(arr1,sizeof(arr1)/sizeof(arr1[0]));t1.PreOrder_Non();coutt1.MaxTwoNodeDistance()endl;BinaryTree t2(arr2,sizeof(arr2)/sizeof(arr2[0]));t2.PreOrder_Non();coutt2.MaxTwoNodeDistance()endl; } 转载于:https://blog.51cto.com/10541556/1835793
http://www.huolong8.cn/news/76105/

相关文章:

  • 百度做的网站能优化吗公司管理app有哪些
  • 网站改版引导做网站都用什么工具
  • 烟台h5网站制作怎么做网站和注册域名
  • wordpress 用户组国外seo工具
  • 网站悬浮广告代码网站伪静态文件
  • 做网站的所有代码建设银行网站用户密码找回
  • 网站开发参考文献2016大型电子商务网站开发
  • 成都网站建设 招聘公司网站建设费用入什么费用
  • 网站关键词库庆阳吧
  • 外贸建站主机六安哪里有做推广网站
  • 网站设计 站wordpress頂部公告插件
  • 广州做网站市场商品详情页怎么制作
  • 杭州做公司网站西安煤炭建设监理中心网站
  • 做公司网站大概需要多少钱啊虚拟主机怎么设计网站吗
  • 中国建设行业网站中国建设官方网站
  • 建站平台 选择住建局查询系统
  • 58同城推广能免费做网站吗在阿里巴巴上做网站需要什么条件
  • 南宁网站建设公九江网站开发公司
  • sever 2008 网站建设辽宁省建造师执业信息网
  • 好买卖做网站移动互联网站开发与软件开发
  • 网站制作什么巢湖自助建站系统
  • 运城有做网站设计wordpress静态页面
  • 广州网站排名优化报价北京专业英文网站建设
  • 广西省住房和城乡建设厅官方网站网站建设的展望
  • 子凡wordpressseo范畴
  • 顶呱呱集团 网站建设新手学网络运营要多久
  • 啥前端框架可以做网站首页.net网站开发实训体会
  • 网站建设的技术问题不想花钱怎么做网站
  • wordpress 网站显示加载时长网络销售新手入门
  • 网站开发助手家教网站开发公司