CSP-J初赛中有许多此类题目,普通方法比较耗费时间以至于无法完成后面的题目,所以在这里介绍一下较快的一种方法。

Bilibili:Link

额,视频没有字幕,在学校的话没有耳机并不方便,这里手敲出来做法:

注意,本文在介绍做法时以已知先序遍历与中序遍历为例;

  1. 准备

算草纸就够了(还有脑子

  1. 首先,将算草纸顺时针旋转90°,在算草纸(旋转后的状态)的第一行写下先/后序遍历的结果,如图:

image

  1. 然后,将算草纸逆时针旋转90°,在算草纸(旋转后的状态)的最后一行写下中序遍历的结果,如图:

image

  • 额,下边为了方便书写,将省略“先序”和“中序”等字眼,并且将会把“ A B C D E”替换为实例,请注意;
  1. 把这张图当作平面直角坐标系,描出各点,如图:

image

  1. 现在,把这些点都连起来,如图:

image

  1. 现在,你就得到了这棵树!你只需要动动你还能挣扎着使用的脑子写下先序/后序遍历就可以了!
    在这道题中,它的结果是:C B E F D A

完结撒花!