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

网站做多久能盈利文化馆互联网站建设方案

网站做多久能盈利,文化馆互联网站建设方案,石家庄 网站建设 15369356722,网站推广的方法及特点文章目录 1.给一个数组构建二叉树2.从前序遍历和中序遍历构建二叉树3.二叉树中的最大路径和 1.给一个数组构建二叉树 思路:就是借助一个队列实现层序遍历的思想。 先将root节点入队列,构造左右节点后,root取出来时,将其左右孩子都…

文章目录

  • 1.给一个数组构建二叉树
  • 2.从前序遍历和中序遍历构建二叉树
  • 3.二叉树中的最大路径和


1.给一个数组构建二叉树

思路:就是借助一个队列实现层序遍历的思想。
先将root节点入队列,构造左右节点后,root取出来时,将其左右孩子都入队列。

struct TreeNode
{unique_ptr<TreeNode> left;unique_ptr<TreeNode> right;int _val;TreeNode(int val):_val(val),left(nullptr),right(nullptr){}~TreeNode(){}
};//层序遍历构建二叉树
// 1 2 3 4 5
unique_ptr<TreeNode> BuildBinaryTreeFromLevelOrder(vector<int>& nums)
{if (nums.size() == 0){cout << "nums is empty!" << endl;}unique_ptr<TreeNode> root = make_unique<TreeNode>(nums[0]);queue<TreeNode*> q;q.push(root.get());int i = 1;while (!q.empty() && i < nums.size()){TreeNode* cur = q.front();q.pop();//先处理左子树cur->left = make_unique<TreeNode>(nums[i]);q.push(cur->left.get());i++;//再处理右子树if (i < nums.size()){cur->right = make_unique<TreeNode>(nums[i]);q.push(cur->right.get());}i++;}return root;
}

2.从前序遍历和中序遍历构建二叉树

从前序遍历和中序遍历构建二叉树

在这里插入图片描述

思路:

  • 1.根据前序遍历的根,先找到中序遍历的根节点所在下标。
  • 2.然后划分成两个区间进行递归即可。

注意事项:
previ是前序中的根节点下表,用来构建当前节点的。
所以构建完根节点后, 需要++previ,到达左子树的根节点。
并且要传引用。否则回到当前递归栈这一层时,会从原位置开始向下走

class Solution {
public:TreeNode* _buildTree(vector<int>& preorder,vector<int>& inorder,int& previ,int inbegin,int inend){if(inbegin > inend)return nullptr; //子区间递归结束了TreeNode* root = new TreeNode(preorder[previ]);//1.先在中序区间找根节点下标int rooti = 0;while(rooti <= inend){if(preorder[previ] == inorder[rooti])break;++rooti;}//2.分成左右子区间分别构建子树。++previ; //根节点的下一个节点就是左子树的根了root->left = _buildTree(preorder,inorder,previ,inbegin,rooti-1);//这里不要再++prei,因为递归构建左子树时,会自己++prei,构建左子树的最后//一个节点时,会先++prei,就到右子树了。root->right = _buildTree(preorder,inorder,previ,rooti+1,inend);return root;}TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) {//根据前序遍历的根,先找到中序遍历的根节点所在下标。//然后划分成两个区间进行递归即可。int previ = 0; //传参时一定是传引用,否则回到当前递归栈这一层时//会从原位置开始向下走int inbegin = 0,inend = inorder.size()-1;return _buildTree(preorder,inorder,previ,inbegin,inend);}
};

3.二叉树中的最大路径和

二叉树中的最大路径和
在这里插入图片描述

思路:二叉树中一条路的最大路径和一定是该节点的左子树的最大有效值与右子树的最大有效值的最大值的和,再加上当前节点的值。
所以:

  • 1.先求出左右子树的最大有效值,再加上当前节点的值。
  • 2.求有效值的过程,不断更新最大路径和。

这里注意两个概念:

  • 1.最大贡献值是因为左子树可能有几十条路径,需要选出最优的路径,才是最大的贡献。
    左右子树的最大贡献值加起来,再加上我当前节点的值之后,才组成最大路径和(左右都是最优的路径)。我的左子树和右子树两条路径选出来,比较后,选最大的,再加上我当前节点的值,然后向上交付,就能组成一条最优的路径。
  • 2.最大路径和就是:左右子树的最大贡献值,加上我当前节点的值,就组成了一条完整的路径。

别看这道题是困难题,如果想明白了后序遍历,就一点不难。

class Solution {int max_val = INT_MIN; //保存最大的路径和
public:int _paxPathSum(TreeNode* root){if(root == nullptr)return 0; //空节点的有效值为0//保存左右子树的最大贡献值int left_con = max(_paxPathSum(root->left),0);int right_con = max(_paxPathSum(root->right),0);//更新最大路径和max_val = max(max_val,left_con + right_con + root->val);//返回贡献值return root->val + max(left_con,right_con);}int maxPathSum(TreeNode* root) {_paxPathSum(root);return max_val;}
};

文章转载自:

http://Q9ugeJwM.bnxnq.cn
http://3OVCJAIi.bnxnq.cn
http://RfVEaufB.bnxnq.cn
http://qiY69OxP.bnxnq.cn
http://oBLxlOzJ.bnxnq.cn
http://H23NsWcD.bnxnq.cn
http://BY11cIZb.bnxnq.cn
http://goSXTNAS.bnxnq.cn
http://iEqetyo9.bnxnq.cn
http://t6qTwYix.bnxnq.cn
http://CkHMZ1gs.bnxnq.cn
http://VbwF510J.bnxnq.cn
http://CYbhpkM1.bnxnq.cn
http://Yh8mGTLK.bnxnq.cn
http://YUzUFnFv.bnxnq.cn
http://wOw8VRds.bnxnq.cn
http://woDK0vwu.bnxnq.cn
http://TzuhiNTH.bnxnq.cn
http://zjL3Td9B.bnxnq.cn
http://naXF4ihi.bnxnq.cn
http://XyVFCsC0.bnxnq.cn
http://EHLaAvoR.bnxnq.cn
http://IcuE7764.bnxnq.cn
http://tvohvdCl.bnxnq.cn
http://VkXOaIlG.bnxnq.cn
http://uZnXmztp.bnxnq.cn
http://0qz2mntl.bnxnq.cn
http://OBpvCT6g.bnxnq.cn
http://gVnzn6YH.bnxnq.cn
http://DOo309pg.bnxnq.cn
http://www.dtcms.com/wzjs/710480.html

相关文章:

  • 建外贸企业网站南充网站建设略奥网络
  • 杭州在线制作网站企业网站的分类
  • 查手表价格的网站东莞常平社保局电话
  • 国外网站页面做多大深圳前十vi设计公司
  • 做网站图片显示不来北京公司注册地址出租
  • flash网站读条怎么做店铺装修风格有哪些
  • 国内网站制作欣赏互动营销案例100
  • 帮助网站源码聊城经济技术开发区人才网
  • 企业网站开发心得体会网站导航条做多高
  • 网站开发工具发展史小程序商城一般哪家好
  • 利用帝国cms网站建设2013网站建设方案
  • 移动端的网站模板网站的面包屑怎么做的
  • 网站建设公司济宁wordpress的文件结构
  • 蒙文网站建设的意义手把手教你入侵网站修改数据
  • 国内自建站新网站快速收录
  • 海淀网站建设服务物流网站系统php源码
  • 模板型网站建设淘宝客 wordpress
  • 网站的页面设计网页制作作品
  • 三星商城app下载安康地seo
  • asp购物网站客户查看购物车酒店网站建设的基本内容
  • 公司网站建设模块中天会展中心网站建设方案
  • 跨境电商网站建设主管岗位职责做网站一般建多大的页面
  • 企业自建站案例公司 备案 网站名称
  • 西安市城乡建设档案馆网站企业推广哪个平台好
  • 襄阳网站建设兼职跨境电商全托管有哪些平台
  • 电子网站开发技术包括wordpress实现动态功能
  • 网站开发需求分析参考文献孝感做网站xgsh
  • 模板式网站建设如何用wordpress做产品页
  • 网站建设网络推广销售域名做网站出售合法吗
  • 昆明模板建站代理上高做网站公司