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

西安网站建设huanxi现在不流行做网站了么

西安网站建设huanxi,现在不流行做网站了么,wordpress国内博客主题,网站设计策划书案例题目链接#xff1a; 二叉树遍历_牛客题霸_牛客网二叉树的前序、中序、后序遍历的定义#xff1a; 前序遍历#xff1a;对任一子树#xff0c;先访问根#xff0c;然后遍历其左子树#xff0c;最。题目来自【牛客题霸】https://www.nowcoder.com/share/jump/43719512169…题目链接 二叉树遍历_牛客题霸_牛客网二叉树的前序、中序、后序遍历的定义 前序遍历对任一子树先访问根然后遍历其左子树最。题目来自【牛客题霸】https://www.nowcoder.com/share/jump/437195121692587727256 描述 二叉树的前序、中序、后序遍历的定义 前序遍历对任一子树先访问根然后遍历其左子树最后遍历其右子树 中序遍历对任一子树先遍历其左子树然后访问根最后遍历其右子树 后序遍历对任一子树先遍历其左子树然后遍历其右子树最后访问根。 给定一棵二叉树的前序遍历和中序遍历求其后序遍历提示给定前序遍历与中序遍历能够唯一确定后序遍历。 输入描述 两个字符串其长度n均小于等于26。 第一行为前序遍历第二行为中序遍历。 二叉树中的结点名称以大写字母表示ABC....最多26个结点。 输出描述 输入样例可能有多组对于每组测试样例 输出一行为后序遍历的字符串。 示例1 输入 ABC BAC FDXEAG XDEFAG 输出 BCA XEDGAF 思路 先来一个例子 先序遍历序列为FDXEAG 中序遍历序列为XDEFAG 要根据先序序列和中序序列确定这个二叉树通用的步骤为 1.根据先序序列的第一位确定这棵树的根 2.在中序序列中找到根的所在的位置根的左边就是该树的左子树的节点根的右边就是该树的右子树的节点 3.根据树的左子树节点和右子树节点在先序序列中分别找到对应的子串 4.对3中找到的两个子串分别重复1 2 3步左子树节点用于构建左子树右子树节点用于构建右子树直到所有的节点都用于构建这棵树。 示例 根据以上的案例走一遍 1.由先序遍历序列为FDXEAG可知树的根节点为F 2.在中序遍历序列XDEFAG找到F的索引为3左边XDE就是该树的左子树的节点右边AG就是该树的右子树的节点 3.根据树的左子树节点XDE和右子树节点AG在先序序列中分别找到对应的子串分别为DXE和AG 4.对DXE和AG分别重复步骤1 2 3DXE用于构建左子树AG用于构建右子树直到所有的节点都用于构建树。 每执行完第一轮步骤1 2 3所用的根节点已经用于构建树了后续就不用再考虑了。例如执行完第一轮步骤1 2 3根节点F已经用过了后续就不用再考虑了。 分析 相信思路都很明确步骤大概也明白了接下来代码实现中一个非常注重细节的地方就是递归构建左子树和右子树的部分再详细说就是在递归调用构建树的函数中我们要传入的两个参数应该怎么确定。 本次主要介绍利用先序遍历序列和中序遍历构建一个二叉树并输出后序遍历的方法我们在递归调用构建树的函数中我们要传入的两个参数当然就是子树的先序遍历序列和中序遍历序列。创建左子树时就传入左子树的先序遍历序列和中序遍历序列创建右子树时就传入右子树的先序遍历序列和中序遍历序列。 以下根据以上案例详细分析对于 索 引012345 先序遍历序列为FDXEAG中序遍历序列为XDEFAG 将以上两个遍历序列分别命名为字符串s1,s2即s1 FDXEAG s2 XDEFAG。根据s1可知树的根为F在s2中寻找到F的索引定义为pos为3。根据s2可得左子树包括的字符有XDE由s2.substr(0, pos)获得右子树包括的字符有AG由s2.substr(pos1)获得在s1中对应的字符串分别为DXE由s1.substr(1, pos)获得和AG由s1.substr(pos1)获得。根据以上获得的四个参数可以递归创建左子树和右子树。 源代码 //根据先序遍历和中序遍历确定一个二叉树 // 二叉树节点结构定义 struct TreeNode {char data;TreeNode* leftChild;TreeNode* rightChild;TreeNode(char c): data(c), leftChild(NULL), rightChild(NULL){} };// 根据先序遍历和中序遍历构建二叉树 TreeNode* Build(string str1, string str2) {if (str1.size() 0) {return NULL;}// 取先序遍历的第一个字符作为根节点char c str1[0];// 在中序遍历中找到根节点的位置int pos str2.find(c);// 创建根节点TreeNode* root new TreeNode(c);递归构建左子树root-leftChild Build(str1.substr(1, pos), str2.substr(0, pos));递归构建右子树root-rightChild Build(str1.substr(pos 1), str2.substr(pos 1));return root; }// 后序遍历输出 void postOrder(TreeNode* root) {if (root NULL) {return;}//先遍历左子树postOrder(root-leftChild);//再遍历右子树postOrder(root-rightChild);//输出当前根节点的值cout root-data;return; }int main() {string s1, s2;while (getline(cin, s1)) {getline(cin, s2);TreeNode* root Build(s1, s2);postOrder(root);cout endl;}return 0; }示例运行结果
http://www.huolong8.cn/news/20276/

相关文章:

  • 育才网站建设关于未备案网站
  • 网站被抄袭WordPress博客主题免费
  • 网站建设包括沈阳网络科技公司有哪些
  • 学网站开发的软件怎么免费弄网站
  • 江苏省建设厅网站公示重庆专业网站推广时间
  • 平顶山哪里做网站刚刚封城最新消息2021
  • 惠城区城乡规划建设局网站域名查询 阿里云
  • 门户网站的推广方案中国风网站建设
  • 浙江五联建设有限公司网站wordpress最新主题下载地址
  • 宁波网站建设开发门户网站建设参考文献
  • 免费公司网站制作如何成立网站
  • 北京市住房和城乡建设厅网站wordpress5.2.2怎么改中文
  • 仿58网站怎么做设备报价单模板
  • 哈尔滨网站建站模板简单学校网站模板免费下载
  • 用新浪微博做网站看课学校网站建设
  • 宜州做网站需要多少钱修改wordpress ftp端口
  • 海星wap建站网站建设南京
  • 卯兔科技西安网站建设wordpress打开只显示代码
  • 网站seo推广员招聘毕业设计的网站
  • 怎么推广游戏叫别人玩领硕网站seo优化
  • 用asp做网站有哪控件湘潭网站外包公司
  • 英文网站建设大概多少钱wordpress采集建站
  • 网站建设的电话销售好做不长沙seo外包平台
  • 优惠券的网站制作单一产品网站如何做seo
  • 青浦网站设计制作网站建设电话咨询
  • 互动案例的网站石家庄网站建设流程
  • 有没有专门学做婴儿衣服的网站wordpress 自媒体插件
  • 沈阳市营商环境建设监督局网站修改wordpress热门文章的数量
  • 小说网站建设方案书ppt网页界面制作步骤
  • dw 做的网站能用吗html网页框架