码迷,mamicode.com
首页 > 其他好文 > 详细

树的遍历

时间:2019-07-28 20:19:23      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:color   定义   存储   code   搜索   下标   问题   一个队列   bsp   

在应用树结构解决问题时,往往要求按照某种次序获得树中全部结点的信息,这种操作叫作树的遍历。

技术图片

 

遍历的方法有多种,常用的有: 

A、先序(根)遍历:先访问根结点,再从左到右按照先序思想遍历 各棵子树。 如上图先序遍历的结果为:125634789;   

B、后序(根)遍历:先从左到右遍历各棵子树,再访问根结点。如 上图后序遍历的结果为:562389741; 

C、层次遍历:按层次从小到大逐个访问,同一层次按照从左到右的 次序。 如上图层次遍历的结果为:123456789;


 

AB两种方法的定义是递归的,所以在程序实现时往往也是采用递归的思想。既通常所说的“深度优先搜索”。

【方法一】数组模拟

技术图片

 

【方法二】指针

技术图片

 


C方法应用也较多,实际上是我们讲的“广度优先搜索”。思想如下:若某个结点被访问,则该结点的子结点应记录,等待被访问。顺序访问各层次上结点,直至不再有未访问过的结点。为此,引入一个队列来存储等待访问的子结点,设一个队首和队尾指针分别表示出队、进队的下标。

【方法一】数组模拟

技术图片

【方法二】指针

技术图片

 

树的遍历

标签:color   定义   存储   code   搜索   下标   问题   一个队列   bsp   

原文地址:https://www.cnblogs.com/ljy-endl/p/11260480.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!