大家好,今天小编关注到一个比较有意思的话题,就是关于c语言建立二叉树的问题,于是小编就整理了1个相关介绍c语言建立二叉树的解答,让我们一起看看吧。
某二叉树的前序遍历节点访问顺序是abdgcefh中序遍历节点访问顺序是dgbaechf则其后序遍历的节点访问顺序?
嗯,你第一步的划分是正确的a为根,dgb为左子树,echf为右子树接下来看左子树的前序遍历为bdgb首先被访问可以知道b为左子树的根,与a相连再看左子树的中序遍历dgbd和g都在b之前就被访问所以b和g应该在b的左子树上形状如下---a--/--b-/dg而dg的确定再根据前序遍历d先被访问则d为根再看中序遍历也是d先被访问可以确定g为d的右子树左边就可以确定出来了如果上面看懂了右边就很简单,一样的道理前序遍历cefh确定c为右子树的根再看中序遍历echfe为c的左子树,hf为c的右子树hf的确定在看前序遍历f先被访问f为根中序遍历h先被访问h为f的左子树整棵树就出来了如下图在做后序就是小菜一碟了
到此,以上就是小编对于c语言建立二叉树的问题就介绍到这了,希望介绍关于c语言建立二叉树的1点解答对大家有用。
(图片来源网络,侵删)
版权声明:本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。