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

餐饮技术支持东莞网站建设设计类网站开发策划书

餐饮技术支持东莞网站建设,设计类网站开发策划书,浙江十大外贸公司,网页微信版二维码过期怎么办目录 1. 二叉树的前序遍历 (中#xff0c;后序类似)2. 二叉树的最大深度3. 平衡二叉树4. 二叉树遍历 1. 二叉树的前序遍历 (中#xff0c;后序类似) 这道题的意思是对二叉树进行前序遍历#xff0c;把每个结点的值都存入一个数组中#xff0c;并且返回这个数组。 思路后序类似)2. 二叉树的最大深度3. 平衡二叉树4. 二叉树遍历 1. 二叉树的前序遍历 (中后序类似) 这道题的意思是对二叉树进行前序遍历把每个结点的值都存入一个数组中并且返回这个数组。 思路 这题与我们平时写的二叉树前序遍历不同。需要我们自己开辟空间但又由于二叉树结点个数未知所以在开辟空间之前要先计算结点个数根据结点个数开辟空间。最后再利用分治递归进行前序遍历。 代码实现如下 注意 (1) 结点个数的计算数组空间的开辟 (2) 递归时一般用子函数 _prevOrder 递归而不是 preorderTraversal 原函数不然会重复的开辟空间 (3) 局部变量 i 一定要传地址因为每一层递归函数都有一个 i 下一层放的 i 是 i之后的 i 由于形参是实参的一份临时拷贝若不传地址就不会影响上一层函数中的 i 就是加的不是同一个 i (4) 输出型参数 returnSize 目的是获取a数组有多大。 //前序遍历 void _prevOrder(struct TreeNode* root, int* a, int* pi) {if (root NULL)return;a[*pi] root-val;(*pi);_prevOrder(root-left, a, pi);_prevOrder(root-right, a, pi); }//由于不知道数组开多大的空间所以要提前计算树的结点个数 int TreeSize(struct TreeNode* root) {return root NULL ? 0 : TreeSize(root-left) TreeSize(root-right) 1; }int* preorderTraversal(struct TreeNode* root, int* returnSize) {int size TreeSize(root);//开辟数组空间int* a (int*)malloc(sizeof(int) * size);int i 0;_prevOrder(root, a, i);*returnSize size;return a; } 2. 二叉树的最大深度 思路 利用分治递归思想。若根节点为空则深度为0若非空则先求左右子树的深度我的深度 左右子树深度大的 1。 代码实现如下 注意 要先用两个变量记录计算好的左右子树的深度不然运行时会超出时间限制。 int maxDepth(struct TreeNode* root) {if (root NULL){return 0;}int leftDepth maxDepth(root-left);int rightDepth maxDepth(root-right);return leftDepth rightDepth ? leftDepth 1 : rightDepth 1; } 3. 平衡二叉树 平衡二叉树是指该树所有节点的左右子树的深度相差不超过 1。 思路 首先计算出每个节点的左右子树的深度再计算它们的深度差是否超过1。 代码实现如下 int maxDepth(struct TreeNode* root) {if (root NULL){return 0;}int leftDepth maxDepth(root-left);int rightDepth maxDepth(root-right);return leftDepth rightDepth ? leftDepth 1 : rightDepth 1; }bool isBalanced(struct TreeNode* root) {if (root NULL)return true;int leftDepth maxDepth(root-left);int rightDepth maxDepth(root-right);//先检查自己满不满足再递归检查左子树右子树满不满足return abs(leftDepth - rightDepth) 2 isBalanced(root-left) isBalanced(root-right); } 4. 二叉树遍历 思路 首先要根据输入的字符串构建一棵二叉树再进行中序遍历。 代码实现如下 注意 局部变量 i 要传地址不然递归调用时加的不是同一个 i。 //定义结点 typedef struct TreeNode {struct TreeNode* left;struct TreeNode* right;char val; }TNode;//创建二叉树 TNode* CreateTree(char* a, int* pi) {if (a[*pi] #){(*pi);return NULL;}TNode* root (TNode*)malloc(sizeof(TNode));if (root NULL){perror(malloc fail!\n);exit(-1);}root-val a[*pi];(*pi);root-left CreateTree(a, pi);root-right CreateTree(a, pi);return root; }void InOrder(TNode* root) {if (root NULL)return;InOrder(root-left);printf(%c , root-val);InOrder(root-right); }int main() {char str[100] { 0 };scanf(%s, str);int i 0;//构建一棵树TNode* root CreateTree(str, i);InOrder(root);return 0; }
http://www.zqtcl.cn/news/737967/

相关文章:

  • 网站开发可能遇到的问题四川建筑人才招聘网
  • 镇江网站托管怎么做淘宝网站赚钱吗
  • 交互式网站是什么知名vi设计企业
  • 上海个人做网站网站建设销售好做嘛
  • 邵阳建设网站哪家好手机网站栏目结构图
  • 做动车哪个网站查网站环境配置
  • 那些网站可以做h5国内新闻最新消息今天简短
  • asp网站开发实例河南省建设招投标网站
  • 营销型网站搭建公司有没有专做推广小说的网站
  • 汕头网站搭建wordpress文章列表摘要
  • 网站开发体会800字网站开发新功能
  • 网站域名查询ip杭州pc网站开发公司有哪些
  • 青岛公司网站设计网站后台编辑器内容不显示
  • vc6.0做网站wordpress调用会员等级
  • 哪个网站有做商标网站的类型是什么意思
  • 网站 主机网站内容段落之间有空格对seo有影响吗
  • 网站的宣传推广学网站开发哪个好
  • 免费背景图片素材网站北京企业建站程序
  • 营销网站建设方案wordpress门户
  • 世界网站排名查询效果好企业营销型网站建设公司
  • 网站用户体验解决方案个人网页设计作品赏析
  • 常州网站建设方案外包网站开发用到的技术
  • 防伪网站模板如何找百度做网站
  • 网站建设与维护成绩查询云南app开发系统
  • 自己做网站的难度建设专门网站 强化信息宣传
  • 公职单位建设网站的目的如何查看小程序的开发公司
  • 网页模板网站推荐青岛 php 网站建设
  • joomla 网站建设3d网站建设
  • 网站开发与维护专业前景网站被禁止访问怎么打开
  • 山东 网站建设青海公路建设市场信用信息服务网站