已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法

#define N 10 //二叉树节点的个数

char postorderstr[]={};//后序序列
char inorderstr[]={};//中序序列

Stastus Creat_BiTree(BiTree &T,int s1,int e1,int s2,int e2)

//s1,e1为子树序列在中序序列中的起始位置,s2,e2为子树序列在后序序列中的起始位置

{

if(!(T=(BiTNode *)malloc(sizeof (BiTNode)))) exit(OverFollow)

T->data=postorderstr[e2];

T->Lchild=T->Rchild=null;

if(s1!=e1)//当s1!=e1时为非叶子节点,创建子树

{

t=FindPosition(postorderstr[e2]);

if(t!=s1)//当t=s1时,该节点没有左子树

{CreatBiTree(T->Lchild,s1,t-1,s2,s2+(t1-1-s1)); }

//子树序列长度是一定的,所以在中序中易知子树序列长度为t1-1-s1,那么在后序序列中的起始位置也易知

if(t!=e1)//当时,该节点没有右子树

{CreatBiTree(T->Rchild,t1+1,e1,(e2-1)-(e1-(t+1)),e2-1);}

//注释同上

}

}

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

intFindPosition(char c)

//查找字符c在中序序列中的位置

{

for(i=0;i<N;i++)

{

if(inorderstr[i]==c)

break;

}

return i-1;

}

已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法...相关推荐

  1. 二叉树的二叉链表存储结构构建以及先序遍历

    #include <stdio.h> #include <stdlib.h> #define OK 1 #define ERROR -1 typedef int TElemTy ...

  2. 西工大NOJ数据结构理论——015.建立二叉树的二叉链表存储结构(严6.70)

    我相信,大家都已经了解了这道题的背景,以及明白了我们需要做的事情. 对于这道题的背景,相信大家都熟悉,所以就不说了. 关于我们需要做的事情,大家也已经有了自己的思路.所以,我只在下面简短的写一写我的思 ...

  3. 6-2-二叉树(二叉链表存储)-树和二叉树-第6章-《数据结构》课本源码-严蔚敏吴伟民版...

    课本源码部分 第6章  树和二叉树 - 二叉树(二叉链表存储) --<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接☛☛☛ <数据结构-C语言版>(严蔚敏,吴 ...

  4. JAVA-集合作业-已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。采用List集合和随机数...

    第二题 已知有十六支男子足球队参加2008 北京奥运会.写一个程序,把这16 支球队随机分为4 个组.采用List集合和随机数 2008 北京奥运会男足参赛国家: 科特迪瓦,阿根廷,澳大利亚,塞尔维亚 ...

  5. 已知有十六支男子足球队,参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。

    已知有十六支男子足球队参加2008 北京奥运会.写一个程序,把这16 支球队随机分为4 个组. 要求:采用List集合和随机数放入map集合中,遍历map集合打印结果: 例如:第一组:中国 美国 澳大 ...

  6. 已知有十六支男子足球队参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组

    import java.util.ArrayList; import java.util.List; /**  * 已知有十六支男子足球队参加2008 北京奥运会.写一个程序,把这16 支球队随机分为 ...

  7. 数据结构-二叉链表存储的二叉树(利用先序遍历)

    树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用.对于每一个结点至多只有两课子树的一类树,称其为二叉树.二叉树的链式存储结构是一类重要的数据结构,其形式定义如下: 而二叉树的前序.中序遍历 ...

  8. 已知有十六支男子足球队参加2008 北京奥运会。 写一个程序,把这16 支球队随机分为4 个组,每组4只球队。采用List集合和随机数。

    已知有十六支男子足球队参加2008 北京奥运会. 写一个程序,把这16 支球队随机分为4 个组,每组4只球队.采用List集合和随机数. package com.qianfeng._wy;import ...

  9. 已知有十六支男子足球队参加2008北京奥运会。写一个程序,把这16支球队随机分为4个组。

    package com.lovo.homework;import java.util.LinkedList; import java.util.List;public class Homework3 ...

最新文章

  1. 百万数据报表读取:解决方案及原理分析
  2. STL泛型编程之迭代器
  3. Android 图片缓存机制
  4. 图像3A算法及伽马校正原理及部分实现
  5. Windows Embedded 7 最简便EWF系统制作方案
  6. 软件供应链安全现状分析与对策建议
  7. 深度学习与PyTorch入门实战教程
  8. 关于程序员的冷笑话 (转载www.lenxiaohuadaquan.net )
  9. 基于STM32的无损压缩算法miniLZO移植,压缩率很高,20KB随机数压缩到638字节,耗时275us
  10. 如何生成SHA2常数序列
  11. Ps的动感模糊和扭曲效果
  12. 钉钉在线课程开启屏幕共享时电脑蓝屏问题解决办法
  13. (1)从1开始写一个操作系统
  14. 【JAVA 文件概述】
  15. 投稿经验分享之五:申请专利
  16. mysql随机生成数据并插入_python生成随机数据插入mysql
  17. Uncaught ReferenceError: UE is not defined at zh-cn.js:8
  18. 顺丰科技笔试问题之最多的分值个数问题
  19. 使用Python编写爬虫程序(代码详细注释),获取彼岸图网的图片
  20. JpaRepository 查询规范

热门文章

  1. 卷积神经网络(CNN)_相关知识
  2. ELK学习笔记之ElasticSearch简介
  3. 后台判断ajax请求的请求后字段 。
  4. 重点 (七) : 开发技巧/方法
  5. commons-beanutils的使用
  6. 谈谈Linux下的数据流重定向和管道命令
  7. 细聊 Cocoapods 与 Xcode 工程配置
  8. iOS开发之Masonry框架源码解析
  9. 在Linux下开发多语言软件(gettext解决方案)
  10. “记住密码“功能的正确设计