Advertisement

PTA_2019春_044 是否为同一棵二叉搜索树

阅读量:

通过指定一个插入顺序,可以唯一地构建出一棵二叉搜索树。但反过来,同一棵二叉搜索树可能由多个不同的插入顺序生成。例如,当初始为空的二叉搜索树分别按照{2, 1, 3}和{2, 3, 1}这两个序列进行插入操作时,最终形成的树结构是相同的。因此,针对不同的插入序列,需要判断其是否能够生成相同的二叉搜索树结构。

输入格式:

输入由多组测试数据构成。每组数据的第一行包含两个正整数N(≤10)和L,分别表示每个序列中插入元素的数量以及待验证的序列总数。第二行给出N个以空格分隔的正整数,作为初始插入序列。随后的L行中,每一行均包含N个插入元素,对应于L个需要验证的序列。

为简化处理过程,我们确保每个插入序列均为1到N的一个排列。当读取到N等于0时,表示当前输入数据结束,此时应忽略该组数据不进行处理。

输出格式:

对于每组待验证的序列,若其构造出的二叉搜索树与初始序列所生成的结构完全一致,则应输出“Yes”,否则应输出“No”。

输入样例解析

复制代码
 4 2

    
 3 1 4 2
    
 3 4 1 2
    
 3 2 4 1
    
 2 1
    
 2 1
    
 1 2
    
 0
    
    
    
    

输出样例:

复制代码
 Yes

    
 No
    
 No
    

全部评论 (0)

还没有任何评论哟~