题目链接:
hdu3999 The order of a Tree

题意:
给一个二叉搜索树的序列,求输出可以构成这个二叉搜索树的且满足字典序最小的插入序列
找了一个比较具体描述怎么根据序列建立二叉搜索树的
图片来自:https://blog.csdn.net/qq_39290830/article/details/85197994

思路:
首先,根据输入键的顺序,构造对应的二叉搜索树;然后,前序遍历这棵二叉树,得出的
树的顺序就是以最小的字典序生成的相同形状的树。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cmath>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <sstream>using namespace std;typedef long long ll;const int inf = 0x3f3f3f3f;
const int maxn = 1000005;struct Treenode
{int data;Treenode *lch, *rch;
};int arr[maxn],cnt;Treenode *Creat(Treenode *rt,int val)
{if(rt == NULL){rt = new Treenode;rt->data = val;rt->lch = rt->rch = NULL;return rt;}//保证小的都是靠左边的if(rt->data > val){rt->lch = Creat(rt->lch,val);}//保证靠右半部分的都是较大的数else{rt->rch = Creat(rt->rch,val);}return rt;
}void for_order(Treenode *rt)
{if(rt == NULL){return ;}arr[cnt] = rt->data;cnt++;for_order(rt->lch);for_order(rt->rch);
}int main()
{int n;cin>>n;Treenode *rt = NULL;while(n--){int val;cin>>val;rt = Creat(rt,val);}for_order(rt);for(int i = 0; i < cnt - 1; i++){cout<<arr[i]<<' ';}cout<<arr[cnt - 1]<<endl;return 0;
}

The order of a Tree hdu3999 二叉搜索树相关推荐

  1. HDU3999 The order of a Tree【二叉搜索树 + 前序遍历】

    The order of a Tree 题意: 给定一个二叉搜索树的插入顺序,要求输出建树之后的前序遍历. 题解: 连续第二天做到二叉搜索树了,真的吹爆这个算法,从二叉树啥也不懂,到简单搜索树直接秒杀 ...

  2. [CareerCup] 4.5 Validate Binary Search Tree 验证二叉搜索树

    4.5 Implement a function to check if a binary tree is a binary search tree. LeetCode上的原题,请参见我之前的博客Va ...

  3. LeetCode 669. Trim a Binary Search Tree修剪二叉搜索树 (C++)

    题目: Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so th ...

  4. 098 Validate Binary Search Tree 验证二叉搜索树

    给定一个二叉树,判断其是否是一个有效的二叉搜索树. 一个二叉搜索树有如下定义:     左子树只包含小于当前节点的数.     右子树只包含大于当前节点的数.     所有子树自身必须也是二叉搜索树. ...

  5. 538. Convert BST to Greater Tree 把二叉搜索树转换为累加树

    给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和. 例如: 输入: 原始二叉搜索树: ...

  6. Binary Search Tree(二叉搜索树、二叉查找树、二叉排序树)

    搜索树数据结构支持许多动态几何操作,包括SEARCH.MININUM.MAXINUM.PREDECESSOR.SUCCESSOR.INSERT和DELETE等.因此,我们可以使用一个搜索树作为字典或者 ...

  7. 99. Recover Binary Search Tree(恢复二叉搜索树)

    题目链接:https://leetcode.com/problems/recover-binary-search-tree/ 思路: 看到二叉搜索树时,我想到的是中序遍历符合从大到小的原则. 然后根据 ...

  8. 99. Recover Binary Search Tree 恢复二叉搜索树

    二叉搜索树中的两个节点被错误地交换. 请在不改变其结构的情况下,恢复这棵树. 示例 1: 输入: [1,3,null,null,2] 1/3\2 输出: [3,1,null,null,2] 3/1\2 ...

  9. leetcode 235. Lowest Common Ancestor of a Binary Search Tree | 235. 二叉搜索树的最近公共祖先(哈希表)

    题目 https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/ 题解 哈希表解法思路来自左程云< ...

最新文章

  1. 【转载】Unix编程艺术——Unix哲学
  2. ccot 目标跟踪全称_Siamese:CVPR 2019 接收论文作者为你解读视频跟踪领域 | CVPR 2019...
  3. python字典相同key的值怎么分别取出_python字典值排序并取出前n个key值的方法
  4. python windows下的file()
  5. centos打显卡驱动命令_CentOS7显卡驱动问题
  6. zoj-3802-Easy 2048 Again
  7. 卷积输出的记录,为什么是([3, 0, 1, 2])
  8. xmu 1254.异或求和
  9. android 原生 电子邮件 应用 发送邮件附带 中文名附件时 附件名称乱码问题解决...
  10. error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 E:\OCX
  11. Python操作IHTMLDocument2用于自动化测试
  12. 算法: 1和0子集合的个数 474. Ones and Zeroes
  13. 《信息化项目文档模板一——项目需求说明书》
  14. 西电2021计算机考研大纲,2021年西安电子科技大学硕士研究生833计算机学科专业基础综合考试大纲...
  15. vs2008背景色配置
  16. OEL6.5+11GR2安装(超级详细版)
  17. AprilTag二维码检测和定位
  18. FLOJET NEMP50/7泵
  19. window+将html文件设置为我们的壁纸
  20. python自动化运维:python环境的安装

热门文章

  1. fastadmin 微信H5支付返回格式
  2. nodemcu连接服务端双向传输数据arduino
  3. 好看响应式Emlog博客主题模板
  4. Date类和LocalDate类的使用
  5. 软件测试适合女生吗?从以下几点来判断!
  6. Java并发编程最佳实例详解系列
  7. 解决yml文件不生效
  8. Qplayer2播放器——用扩展性支撑起未来需求
  9. SQL2005SP2以及VS2005SP1补丁下载
  10. C 语言:#undef 指令