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

郑州专业制作网站多少钱投票活动网站怎么做

郑州专业制作网站多少钱,投票活动网站怎么做,网站搭建合同模板,wordpress一定是主页吗【2021年山西大学真题】将二叉树中所有非终端结点的左右子树交换位置#xff0c;可以得到原二叉树的 镜像二叉树#xff0c;如图。假设二叉树的存储形式为#xff08;lchild#xff0c;data#xff0c;rchild#xff09;#xff0c;给出求镜像二叉树的算法: #xff0…【2021年山西大学真题】将二叉树中所有非终端结点的左右子树交换位置可以得到原二叉树的 镜像二叉树如图。假设二叉树的存储形式为lchilddatarchild给出求镜像二叉树的算法: 1给出算法的基本思想 2根据设计思想写出算法 3讨论算法的时间复杂度和空间复杂度. 1设计一个算法将二叉树中所有非叶节点的左右子树交换位置从而得到原二叉树的镜像二叉树。我们可以使用递归的方式来实现这个算法。 算法的基本思想如下 1. 首先判断当前节点是否为空如果为空则返回。 2. 交换当前节点的左右子树。 3. 对当前节点的左子树调用递归函数实现左子树的镜像。 4. 对当前节点的右子树调用递归函数实现右子树的镜像。 2下面是使用 C 语言编写的实现上述算法的代码 c #include stdio.h #include stdlib.h typedef struct Node {     int data;     struct Node* left;     struct Node* right; } Node; void mirrorBinaryTree(Node* root) {     if (root  NULL) {         return; // 如果当前节点为空直接返回     }     // 交换当前节点的左右子树     Node* temp  root-left;     root-left  root-right;     root-right  temp;     // 递归处理左子树和右子树     mirrorBinaryTree(root-left);     mirrorBinaryTree(root-right); } // 测试代码 void printBinaryTree(Node* root) {     if (root  NULL) {         return;     }     printf(%d , root-data);     printBinaryTree(root-left);     printBinaryTree(root-right); } int main() {     Node* root  (Node*)malloc(sizeof(Node));     Node* node1  (Node*)malloc(sizeof(Node));     Node* node2  (Node*)malloc(sizeof(Node));     Node* node3  (Node*)malloc(sizeof(Node));     Node* node4  (Node*)malloc(sizeof(Node));     Node* node5  (Node*)malloc(sizeof(Node));     Node* node6  (Node*)malloc(sizeof(Node));     root-data  1;     node1-data  2;     node2-data  3;     node3-data  4;     node4-data  5;     node5-data  6;     node6-data  7;     root-left  node1;     root-right  node2;     node1-left  node3;     node1-right  node4;     node2-left  node5;     node2-right  node6;     node3-left  NULL;     node3-right  NULL;     node4-left  NULL;     node4-right  NULL;     node5-left  NULL;     node5-right  NULL;     node6-left  NULL;     node6-right  NULL;     printf(原二叉树);     printBinaryTree(root);     printf(\n);     mirrorBinaryTree(root);     printf(镜像二叉树);     printBinaryTree(root);     printf(\n);     return 0; } 在上述代码中我们首先定义了一个 Node 结构体来表示二叉树的节点。然后我们编写了一个递归函数 mirrorBinaryTree用于实现二叉树节点交换的操作。通过递归调用我们可以将二叉树中所有非叶节点的左右子树交换位置并得到镜像二叉树。在 main 函数中我们创建了一个测试用例并分别输出原二叉树和镜像二叉树的结果。 3算法的时间复杂度是 O(n)其中 n 是二叉树中的节点数。算法的空间复杂度是 O(h)其中 h 是二叉树的高度。
http://www.dnsts.com.cn/news/222345.html

相关文章:

  • 网站建设都需学哪些做个网站怎样做的
  • 提升学历最快是哪种方式谷歌seo零基础教程
  • 企业网站开发背景则么写最新清远发布
  • 恩施网站建设模板网站建社石家庄
  • 网站开发和oa有什么区别中博建设集团有限公司网站
  • 济南网站开发xywlcn搭建wordpress靶机
  • 哪个网站可以做平面兼职建筑网校有哪些
  • 全国好的深圳网站设计广州建筑公司招聘
  • 中小企业网站建设服务做海报的素材哪个网站
  • 免费建站系统怎么用手机怎么制作游戏
  • 蚂蜂窝网站源码制作网页的基本步骤记事本
  • 公司网站建设费用会计入账制作灯笼的材料和做法
  • 清廉桂林网站注册网站域名后免费建站
  • 上海长宁网站建设网站制作关键字排名
  • 福州建设网站效果图旅游电子商务的网站建设
  • 企业摄影网站模板网站栏目建设存在的问题
  • 网站 售前重庆装修公司电话
  • 做网站主要注意些什么问题如何在百度发广告推广
  • 网站上怎么做星星评分建设网站宣传页
  • 网站规划包含哪些内容无锡做网站公司有哪些电话
  • 国外网站做问卷淘宝店铺购买的服务在哪里
  • 网站建设捌金手指花总三深圳好的网站建
  • 集团门户网站建设方案 php温州网络问政
  • 网站建设原理与实践即时灵感网站
  • 保定网站建设哪家好分享网站模板
  • 苏州免费自助建站网站建设如何用万网做自己的网站
  • 信阳做网站的建设网站应该怎么做
  • 做八年级题目的网站新网站多久收录
  • 学做网站设计wordpress中文cms
  • 网站在线优化检测googleplay安卓版下载