陈功 发表于 2014-5-25 02:16:25

树的遍历

本帖最后由 陈功 于 2014-5-25 02:23 编辑

经过两周的努力,数据结构和算法快搞完了,由于时间紧还有很多代码没敲,只能等找到工作了在来慢慢消化。
学数据结构不得不提到树,提到树的操作不能不提到树的遍历,可以说遍历是最基础的东西,如果你还分不清
树的前序遍历,中序遍历,后续遍历的话,希望看我的帖子能搞定:
先给个转载个帖子大家回顾下树的基础:http://www.cnblogs.com/yc_sunniwell/archive/2010/06/27/1766233.html


图片我不知道怎么搞大点,你们另存为下来看吧!不好意思:图中还有空指针的地方还没画出来,D和C那里,不过不影响你们阅读:
遍历的原则:
1:左子树先于右子树遍历;
2:绿色路径(表示遍历是走的顺序)遇到空节点返回;
3:每个节点都会被遍历到三遍(这点很重要,A,B,G等周围蓝色的数字表示)
图中可以看到绿色的路径先是从A开始往左往下走,遇到空指针返回,回到A节点再往右边走,走到最后返回走,最后回到A。箭头表示走的顺序;
再看图中的A,B,G等根(或者叶)(还有的我没画出来),每一个节点(我就这样说了吧,本来是叫根或者叶的,你们懂就行了)绿色的线都经过它们3次,图中蓝色的数字表示。
前序遍历:对于前序遍历就表示绿色的路径在第一次经过节点时(蓝色数字为1的地方)就遍历,那么它的顺序就为
:ABDGJECFH
这里我们可以看到它是从左到右开始遍历的,绿色路径遇到空就返回,同时是在第一次经过节点时遍历。
中序遍历:中序遍历就树在绿色路径第二次访问到节点时(蓝色数字为2的地方)遍历它既可,它的顺序就是
:GJDBEACHF
后续遍历:就是树在绿色路径第三次访问到节点的时候(蓝色数字为3的地方)遍历,顺序的话
:J   GDEBHFCA

这个顺序应该是对的,不对的话可以跟我说下,如果实在还不理解,我只好拿出我的终极武器了:
请观看严蔚敏的数据结构视频第19集20分钟处。这老师讲的真的很好,推荐看看。



新手学习中 发表于 2014-5-25 08:00:15

本帖最后由 新手学习中 于 2014-5-25 08:02 编辑

狂汗 两周就搞定数据结构了?貌似图跟树,这两个中的一个都要两星期学习啊。。。。二叉树,平衡树,红黑树。。。。树与树的转换。。。各种方式的遍历(不只是前中后)

看的我头都晕了,况且估计图比树还要难上几倍。。。。。


楼主却两周就看完数据结构这整本内容了?。。。。。。。神人佩服

陈功 发表于 2014-5-25 12:31:47

新手学习中 发表于 2014-5-25 08:00 static/image/common/back.gif
狂汗 两周就搞定数据结构了?貌似图跟树,这两个中的一个都要两星期学习啊。。。。二叉树,平衡树,红黑树...

没办法,转行为了找工作只好快了,压力蛮大的!只是把伪代码搞明白了,还有一些算法的实现还没敲,等找到工作再来搞吧!时间紧,还要自学数字电路,编译原理神马的!真他妈难搞!

新手学习中 发表于 2014-5-25 18:45:42

陈功 发表于 2014-5-25 12:31 static/image/common/back.gif
没办法,转行为了找工作只好快了,压力蛮大的!只是把伪代码搞明白了,还有一些算法的实现还没敲,等找到 ...

不会吧 你是嵌入式方向的?

x517302248 发表于 2014-6-3 19:11:27

需要LOOKLOOK。。。。。

Angel丶L 发表于 2014-7-22 14:15:28

谢谢分享了。。感谢分享。。。。

wangerwanger 发表于 2014-7-25 18:06:09

数学好真的很重要!!!

dAb 发表于 2014-11-2 00:44:55

下点功夫,补充知识

tlwangxd 发表于 2014-12-3 09:23:25

这习惯于
页: [1]
查看完整版本: 树的遍历