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

网站建设案例wordpress毕业设计

网站建设案例,wordpress毕业设计,如何部署asp网站,wordpress 图片墙插件二叉树 前言一.简介二.题目123 前言 我会将一些常用的算法以及对应的题单给写完,形成一套完整的算法体系,以及大量的各个难度的题目,目前算法也写了几篇,题单正在更新,其他的也会陆陆续续的更新,希望大家点…

二叉树

  • 前言
  • 一.简介
  • 二.题目
    • 1
    • 2
    • 3

前言

我会将一些常用的算法以及对应的题单给写完,形成一套完整的算法体系,以及大量的各个难度的题目,目前算法也写了几篇,题单正在更新,其他的也会陆陆续续的更新,希望大家点赞收藏我会尽快更新的!!!

一.简介

二叉树的题目大多基于递归

f(root){//对以root为根的二叉树做一些操作或判断
//递归体
if(root??){}f(root->left);f(root->right);
}

注意:可能为空树

二.题目

1

力扣LCR 145. 判断对称二叉树
在这里插入图片描述

1.一棵树何时镜像对称?
—左子树与右子树镜像对称,那么这个树是对称的。

2.如何判断左右子树镜像对称?(下面 的 == 是镜像对称的意思)
—左右子树的根节点相同
—左子树的左子树 == 右子树的右子树
—左子树的右子树==右子树的左子树

3.用两个指针p q对称的递归遍历树,进行比较即可。
初始化:p=root->l q=root->r
递归出口:p q都为空,return 1
p q有一个为空 return 0
递归条件:p==q
p->l ==q->r
p->r ==q->l
4.特殊情况:空树 也满足条件

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:
bool check(TreeNode* p,TreeNode* q){if(p == NULL && q == NULL){//两个子树为零则相同return 1;}if(p == NULL || q == NULL){//若只有一个子树为空则不相同return 0;}return p->val == q->val && check(p->left,q->right) && check(p->right,q->left);//若当前和左右子树相同返回true
}bool checkSymmetricTree(TreeNode* root) {if(root == NULL){return 1;}return check(root->left,root->right);}
};

2

力扣236. 二叉树的最近公共祖先
在这里插入图片描述
分析:根据p,q的分布情况判断答案
根节点root。
1.如果p,q分别出现在root的左右子树中,则root是答案
2.若p ,q同时出现在root的某一个子树x中,则问题转化为在x树中找公共祖先(递归)

得到解题思路:递归,去找p,q的出现位置,并判断答案。
递归函数f(root,p,q) :在以root为根的树中找p,q。
1.roo == NULL,空树,返回NULL
2.roo == p或者root==q,找到了一个,直接返回root。若另一个在root的子树中,root是答案。若不在,则返回找到的这个结点。
3.root不为空,也不是p,q,,说明p,q在root的左右子树中,则递归调用,分别去左右子树中找。
l=f(root->left,p,q) r=f(root->right,p,q)
(1)若l,r全为空,返回空
(2)若l,r有一个为空,返回另一个。说明在另一个子树中找到了p,q或者答案
(3)若l,r都不为空,说明p,q一边一个,则root是答案,返回root

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {if(root == NULL){//如果根为空return NULL;}if(p == root || q == root){//如果有一个节点为根return root;}TreeNode* l = lowestCommonAncestor(root->left,p,q);//查找左子树TreeNode* r = lowestCommonAncestor(root->right,p,q);//查找右子树if(l == NULL && r == NULL){//如果未找到return NULL;}if(l != NULL && r != NULL){//左右树都有return root;}if(l == NULL){//不在左子树return r;}if(r == NULL){//不在右子树return l;}return NULL;}
};

3

力扣226. 翻转二叉树
在这里插入图片描述
如果根节点的左右子树分别完成翻转之后,
只需要交换左右子树即可。

问题转化为分别去翻转左右子树。----递归

递归出口:当前节点为 NULL时返 回

流程:先分别递归翻转左右子树,
返回上来之后 交换左右子树

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:TreeNode* invertTree(TreeNode* root) {if(root == NULL){//结束条件return NULL;}TreeNode* l = invertTree(root->left);//翻转左树TreeNode* r = invertTree(root->right);//翻转右数//翻转根root->right = l;root->left = r;return root;}
};

文章转载自:

http://NUwjQ9mJ.cbndj.cn
http://rVG9w2aQ.cbndj.cn
http://wEGgbUk8.cbndj.cn
http://C9Tq5UwU.cbndj.cn
http://c8HrvN9W.cbndj.cn
http://yYEAGNcc.cbndj.cn
http://JAVtPxkz.cbndj.cn
http://7bI0bIUO.cbndj.cn
http://Z9UaQynB.cbndj.cn
http://2S8jd2SA.cbndj.cn
http://lwXl7cCJ.cbndj.cn
http://xXHTGvpg.cbndj.cn
http://BEhgSPDZ.cbndj.cn
http://KYwAc4z0.cbndj.cn
http://fxMDnZgh.cbndj.cn
http://bQ9MPlwG.cbndj.cn
http://QA0C3y0v.cbndj.cn
http://JTMb2Wf3.cbndj.cn
http://AnB9bnsm.cbndj.cn
http://1lTBOQf3.cbndj.cn
http://BwtOh1Wf.cbndj.cn
http://0IFYvLpu.cbndj.cn
http://ci9JSAJ9.cbndj.cn
http://9B60zXB0.cbndj.cn
http://6gLcfyq0.cbndj.cn
http://Odel8wqF.cbndj.cn
http://4urrqZeL.cbndj.cn
http://czL3XRrK.cbndj.cn
http://cvDATyjy.cbndj.cn
http://D62Eht9n.cbndj.cn
http://www.dtcms.com/wzjs/669137.html

相关文章:

  • 鹰潭做网站的长沙建站费用
  • 广东网站建设报价珠海网站建设尚古道策略
  • 建设文化产业网站的方案wordpress路由插件
  • 网站建设平台用乐云践新WordPress rss连接
  • 广州网站设计成功柚米科技怎么看网站到期时间
  • 目前做网站流行的语言重庆网站建站一站式服务
  • 郑州网站网络推广公司广州比较有名的网站建设公司
  • 网站开发模板专家数据库wordpress什么主题好
  • 跨境电商 网站开发域名领域
  • 五屏网站建设品牌好wordpress修改登录框字体
  • 网站界面设计起着决定性作用精品成品网站源码
  • 广州网站建设价格山东省城乡与住房建设厅网站
  • php网站开发的第三章wordpress花生壳lamp
  • 如何网站客户案例wordpress 汉化 不变
  • 公众号网站怎么做的网站seo排名优化方法
  • 上海网站建设高端网站里的动画效果图
  • 导视设计网站推荐wordpress改字体
  • 免费建站网站网页免费分站网站
  • 新手学做网站要学什么知识图文教程百度广告投放代理商
  • 网站建设中建站广告html单页面wordpress主题目录在哪里
  • 如何选择网站建设流程可以做语文阅读题的网站
  • 获取网站目录下所有文件银川做网站推广
  • 高端网站建设公司新鸿儒免费咨询劳动律师
  • 哪个网站做公司业务广告效果好分销系统 wordpress
  • 怎么免费永久创建网站无广告网站开发的价钱
  • 保定网站建设冀icpwordpress腾讯地图插件
  • 网站建设提供空间什么意思九江市建设规划局旧网站
  • 网站开发的技术参数wordpress网站的跳出率很低
  • 网站建设需求分析写什么湖南地税局官网站水利建设基金
  • 做个网站要花多少钱重庆seo教程搜索引擎优化