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

设一棵二叉树中各结点的值互不相同,其先序遍历序列和中序遍历序列分别存于两个一维数组A[1...n]和 Bfl...n]中,试编写算法建立该二叉树的二叉链表。

题目描述:设一棵二叉树中各结点的值互不相同,其先序遍历序列和中序遍历序列分别存于两个一维数组A[1…n]和 B[1…n]中,试编写算法建立该二叉树的二叉链表。

分析: 对于一颗二叉树,知道其中序和先序序列就可以完全确定其形态。

BiTree PreInOrder(ElemType A[],ElemType B[],int l1,int h1,int l2,int h2){//l1初始值为1,l2初始值为1,h1初始值为,n,h2初始值为nroot = (BiTree *)malloc(sizeof(BiTNode));root->data = A[l1];for(int i = l2;root->data != B[i];i++);llen = i - l2;rlen = h2 - i;if(llen != 0)root->lchild = PreInOrder(A,B,l1+1,l1+llen,l2,l2+llen-1);elseroot->lchild = NULL;if(rlen != 0)root->rchild = PreInOrder(A,B,h1-rlen+1,h1,h2-rlen+1,h2);else root->rchild = NULL;return root;
}
http://www.lryc.cn/news/250859.html

相关文章:

  • 什么是Daily Scrum?
  • 逆波兰表达式求值[中等]
  • Oracle连接和使用
  • redis单线程为什么这么快
  • 工业机器视觉megauging(向光有光)使用说明书(五,轻量级的visionpro)
  • 【LittleXi】2023年广东工业大学腾讯杯新生程序设计竞赛
  • 【C语言:数据在内存中的存储】
  • 每日一练:阿姆斯特朗数
  • fatal: remote error: upload-pack: not our ref (未解决问题)
  • Python 3 使用 read()、readline()、readlines() 函数 读取文件
  • 勒索解密后oracle无法启动故障处理----惜分飞
  • Leetcode144. 二叉树的前序遍历-C语言
  • dmesg命令在软件测试中的实际应用
  • 【渗透】记录阿里云CentOS一次ddos攻击
  • 前端面试提问(3)
  • fl studio21.2最新汉化中文完整版网盘下载
  • 差分数组相关知识点以及刷题
  • 使用 DMA 在 FPGA 中的 HDL 和嵌入式 C 之间传输数据
  • uniapp地图基本使用及解决添加markers不生效问题?
  • 使用系统ProgressBar实现三色进度条
  • Vue3中的组合式API的详细教程和介绍
  • Java后端开发——JDBC(万字详解)
  • python etree.HTML 以及xpath 解析网页的工具
  • 电机伺服驱动学习笔记(7)待编辑
  • 【云备份】业务处理
  • JVM GC算法
  • 对Spring框架的一些总结
  • C# WPF上位机开发(第一个应用)
  • 有点迷糊class和初始化参数的用法了
  • 如何选择一款安全稳定的跨境浏览器?