二叉树具体是什么,就不再赘述,如果想了解的的可以看百度百科二叉树
而本章主要说的是二叉树所提到的前序,中序,后序的三种查询方式的具体顺序。
前序:简单的说就是先得到根部数据,然后从左侧走完,然后再得到右侧数据。简称:根左右
中序:简单的说就是先得到左侧数据(左侧为根节点,继续左侧类似递归),然后从左侧走完,然后再得到右侧数据。简称:左根右。
后序:简单的说就是先左后右再根部。简称:左右根。
看上面的定义就知道,所谓的前中后都是以根节点作为判断的,而左右不会变,还是先左侧后右。(而其中还用到了递归的概念)
先看定义,如果不是很了解,那就看例子。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EyofqbLD-1626321672840)(C:\Users\jhfan\AppData\Roaming\Typora\typora-user-images\image-20210715113052580.png)]](https://i-blog.csdnimg.cn/blog_migrate/75abbb7154e196478ac484b1a0d20094.png)
上面是一个二叉树的图,现在依次用前中后三种方式遍历其数据。
前序(根左右)
- 第一步 (根)A
- 第二步,左侧 得到B,后面观察到B还是第二层的根节点,所以说B是A的左,但有是根所以看起是否又左侧(有点递归的意思)。
- 第三步 B左侧有根节点,所有拿到D。
- 第四步重复了第二步骤的逻辑拿到H
- 第五步因为H后面没有节点,所以开始取右侧的数据,也就是H根的右侧,看是否有数据。所以得到 I.
- 后面就是重复上面的逻辑了不在依次列举。
- 最后取出的逻辑是:A-B-D-H-I-E-J-C-F-G.
中序(左根右)
- 第一步:A为根,所以看起左侧B,而左侧B又为根,所以再看其左侧D,D又为根看其左侧H。H左侧没有数据,所以取H.
- 第二步:找H的根,所以取出D。
- 第三步:D的的右侧是否有数据,所以取出 I;
- 第四步:重复第二,第三,最后到达 A.
- 第五步:A右侧C,其为根,左侧又有数据,所以取出F;
- 最后取出的逻辑是: H-D-I-B-E-J-A-F-C-G.
后序(左右根)
其实,虽然顺序不同,但是按照递归推演就行,直接写最后结果,如果理解前两种,瞬间就明白。
取出的逻辑:H-I-D-J-E-B-F-G-C-A
本文详细介绍了二叉树的前序、中序和后序遍历方法,通过实例解析了遍历过程。前序遍历顺序为根左右,中序遍历顺序为左根右,后序遍历顺序为左右根。通过对示例二叉树进行遍历,展示了不同顺序下的遍历结果,帮助读者深入理解这三种遍历方式。
1万+

被折叠的 条评论
为什么被折叠?



