我正在阅读《破解面试官》一书,对以下问题的解决方案有疑问:你有两个非常大的二叉树:T1具有数百万个节点,而T2只有数百个节点。创建一个算法来确定T2是否是T1的子树。
它建议的简单解决方案是创建一个表示中序遍历和先序遍历的字符串,并检查T2的先序/中序遍历是否是T1的先序/中序遍历的子串。
我想知道为什么需要比较两种遍历方式?为什么要比较这两种遍历方式,而不是例如中序遍历和后序遍历?主要的问题是,只使用其中一种遍历方式是否足够?比如只使用中序遍历或先序遍历?
它建议的简单解决方案是创建一个表示中序遍历和先序遍历的字符串,并检查T2的先序/中序遍历是否是T1的先序/中序遍历的子串。
我想知道为什么需要比较两种遍历方式?为什么要比较这两种遍历方式,而不是例如中序遍历和后序遍历?主要的问题是,只使用其中一种遍历方式是否足够?比如只使用中序遍历或先序遍历?