博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
知道二叉树前序和中序序列打印后序序列
阅读量:6823 次
发布时间:2019-06-26

本文共 816 字,大约阅读时间需要 2 分钟。

题目:知道一棵二叉树的前序序列、中序系列,打印出它的后序系列

下面算法的时间复杂度:O(n^2) -- 最坏情况就是左单支树

/*    Kown the preorder listing and the inorder listing of a tree, print it's postorder listing*/void PrintPostOrder(const char *pre, int s1, int e1,                    const char *in,  int s2, int e2){    if (s1 > e1 || s2 > e2)        return;    char root = pre[s1];    for (int i=s2; i<=e2; i++)        if (in[i] == root)            break;    int offset = i-s2;    PrintPostOrder(pre, s1+1, s1+offset, in, s2, i-1);    PrintPostOrder(pre, s1+offset+1, e1, in, i+1, e2);    printf("%c", root);}int main(){    const char *pre="ABCDEF";    const char *in="FEDCBA";    printf("PreOrder : %s\n", pre);    printf("InOrder  : %s\n", in);    printf("PostOrder: ");    PrintPostOrder(pre, 0, strlen(pre)-1, in, 0, strlen(in)-1);    printf("\n");    return 0;}

 

转载地址:http://fpozl.baihongyu.com/

你可能感兴趣的文章
报表软件JS开发引用HTML DOM的location和document对象
查看>>
Windows7 Python-3.6 安装PyCrypto(pycrypto 2.6.1)出现错误以及解决方法
查看>>
《Linux学习并不难》Linux常用操作命令(14):grep命令查找文件中符合条件的字符串...
查看>>
MFC界面库BCGControlBar v25.1新版亮点四:网格控件等
查看>>
Linux下定时切割Nginx访问日志并删除指定天数前的日志记录
查看>>
zabbix 监控项目
查看>>
第三周第二节、用户密码管理及usermod、mkpasswd命令
查看>>
跨交换机实现VLAN
查看>>
27个提升效率的iOS开源库推荐
查看>>
Python的"print"函数在“Hello World”之外的延伸
查看>>
计划任务
查看>>
获取无序数组中第n大的数及快速排序算法使用
查看>>
我的友情链接
查看>>
MongoDB复制集原理
查看>>
Java开发(2) - Tomcat配置JNDI数据源
查看>>
Highcharts error #12 问题解决办法
查看>>
数字图像处理的常用概念和方法
查看>>
Dubbo协议介绍
查看>>
HA配置方案
查看>>
sed处理变量替换
查看>>