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

郑州网站优化怎样做美食网站网页设计论文

郑州网站优化怎样做,美食网站网页设计论文,北京网站建设首选优达,网站搭建需要什么前言 本篇博客我们来看一些二叉树的经典题型,也是对上篇博客的补充 💓 个人主页:小张同学zkf ⏩ 文章专栏:数据结构 若有问题 评论区见📝 🎉欢迎大家点赞👍收藏⭐文章 ​ 目录 1.单值二叉树 …

前言

本篇博客我们来看一些二叉树的经典题型,也是对上篇博客的补充

💓 个人主页:小张同学zkf

⏩ 文章专栏:数据结构

      若有问题 评论区见📝

🎉欢迎大家点赞👍收藏⭐文章 ​

 

 

目录

1.单值二叉树

2.检查两棵树是否相同

3.对称二叉树

​编辑 

4.二叉树的前序遍历

 5.另一棵树的子树


 

1.单值二叉树

 

这道题有两种思路,一种是最简单的也是最常见的思路,遍历,就是把每个节点遍历一遍,看是否值相等(代码过于简单就不写了),还有一种思路就是递归,通过递归,判断孩子与父亲是否相等,若相等进行下次递归,直到节点为空,就代表是单值二叉树,我们写下递归方式的代码

代码如下


2.检查两棵树是否相同

 

 这道题我们可以让两颗子树分别遍历,直到双方节点同时都为空,就相等若是一方节点先为空则两棵树不相等,若遍历的同时值不相等,那两棵树也不相等,代码如下


3.对称二叉树

 

 

 这个对称二叉树就判断左子树与右子树是否相等就行了,也就是说把根节点的左右子树放到上面那道题函数里判断就行了

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/bool isSameTree(struct TreeNode* p, struct TreeNode* q) {if(p==NULL&&q==NULL)return true;if(p==NULL||q==NULL)return false;if(p->val!=q->val)return false;return isSameTree(p->left,q->right)&&isSameTree(p->right,q->left);
}
bool isSymmetric(struct TreeNode* root) {return isSameTree(root->left,root->right);
}

注意一下,这里要看左子树与右子树比较是否相等 ,所以传参的时候注意下


4.二叉树的前序遍历

 

前序遍历我们上篇博客说过,但是这个前序遍历将所有根节点的数据,存储到数组中,以数组的形式返回,我们先开辟一个动态数组的空间, 将数组首地址与首下表,传入函数中,创建前序遍历函数,不过在此之前要统计一下二叉树的节点个数,得到数组里数据个数,然后通过递归将每个数据放入数组中,记得下标自增

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/
/*** Note: The returned array must be malloced, assume caller calls free().*/int number(struct TreeNode* root){return root==NULL?0:number(root->left)+number(root->right)+1;}void preorder(struct TreeNode* root,int* a,int* pi){if(root==NULL)return;a[(*pi)++]=root->val;preorder(root->left,a,pi);preorder(root->right,a,pi);}
int* preorderTraversal(struct TreeNode* root, int* returnSize) {*returnSize=number(root);int* a=(int *)malloc(sizeof(int)*(*returnSize));int i=0;preorder(root,a,&i);return a;
}

中序后序亦是如此


 5.另一棵树的子树

相当于直接通过前序遍历把所有子树找到,然后依次导入我们上边说的判断两棵树是否相等的函数里就行了 ,前提俩子树数据相等

代码如下


结束语 

典型的二叉树有关习题总结完了,二叉树主要是遍历,要想判断二叉树里什么什么的可能都得需要遍历,遍历那肯定需要递归,所以递归一定要弄明白

OK,本篇博客结束,感谢观看!!!

 

http://www.15wanjia.com/news/170071.html

相关文章:

  • 石家庄市城乡和建设局网站建立网站的基本过程
  • 中文域名做的网站有哪些网站开发开源代码
  • 网站开发得花多少钱网站建设推广话术
  • wordpress version网站整站优化公司
  • 网站数据库模板南宁seo网络推广公司
  • 北京做网站哪家专业wordpress 禁止 字体大小
  • 南宁手机端建站模板江苏市场监督管理局电话
  • 网站自然优化是什么意思网站有标题
  • html网站可以做访问统计吗梧州网站建设
  • 加快网站速度吗荥阳网站建设公司
  • 珠海做网站哪里公司好酒业公司网站模板
  • 做网站 给源代码南昌淘宝网站制作公司
  • 网站建设流程 报读文库上海静安网站建设
  • 网站地图深圳网站制作需要多少钱
  • 网站没有收录了南宁市学生网页设计
  • 郑州营销型网站推广工具广告设计专业学校
  • 常见的网站结构类型网站建设合同报价单 模板下载
  • 试客那个网站做的好wordpress积分插件中文免费下载
  • 游戏网站app鹤岗住房和城乡建设局网站
  • 佛山网站设计联系方式广州网站建设阿里云
  • 邢台市网站制作 网站建设手机网站设计咨询
  • 网店装修模板百度网站优化排行
  • 国外网站顶部菜单设计工程咨询公司加盟合作
  • 网站建设手机端页面模板重庆做网站建设公司排名
  • 网站设计基本要素小程序视频网站开发
  • 简易的网站模板网络管理系统的特点
  • 南昌做微网站东莞软件网站推广
  • 电脑做网站空间wordpress文章调用代码
  • 宁波网站制作公司书店建设网站的能力
  • php网站建设教程 电子书怎么做棋牌网站