zoukankan
html css js c++ java
树的遍历
在应用树结构解决问题时,往往要求按照某种次序获得树中全部结点的信息,这种操作叫作树的遍历。
遍历的方法有多种,常用的有:
A、先序(根)遍历:先访问根结点,再从左到右按照先序思想遍历 各棵子树。 如上图先序遍历的结果为:125634789;
B、后序(根)遍历:先从左到右遍历各棵子树,再访问根结点。如 上图后序遍历的结果为:562389741;
C、层次遍历:按层次从小到大逐个访问,同一层次按照从左到右的 次序。 如上图层次遍历的结果为:123456789;
AB两种方法的定义是递归的,所以在程序实现时往往也是采用递归的思想。既通常所说的“
深度优先搜索
”。
【方法一】数组模拟
【方法二】指针
C方法应用也较多,实际上是我们讲的“
广度优先搜索
”。思想如下:若某个结点被访问,则该结点的子结点应记录,等待被访问。顺序访问各层次上结点,直至不再有未访问过的结点。为此,引入一个队列来存储等待访问的子结点,设一个队首和队尾指针分别表示出队、进队的下标。
【方法一】数组模拟
【方法二】指针
查看全文
相关阅读:
点云数据的存储格式
模块编写流程
特征描述子
指针和引用的差别
内联函数和宏定义的差别
哪些函数不能为virtual函数
如何定义一个只能在堆上(栈上)生成对象的类
对象深拷贝问题
Warning: Failed prop type: Invalid prop `value` supplied to `Picker`.报错问题
解决多层数组、对象深拷贝问题
原文地址:https://www.cnblogs.com/ljy-endl/p/11260480.html
最新文章
Is it possible to change the iPhone device name programmatically?
ios app名字的多语言支持
Android 分析工具 APKAnalyser
IOS Delegate & protocal
iOS 之美:iOS Delegate 使用五步曲
Animated App Boot Example : Fastest animation at app boot time
15款优秀移动APP产品原型设计工具
Android通过Http连接MySQL 实现登陆/注册(数据库+服务器+客户端)
登录注册实现(服务器数据)
下拉选择框加listview删除
热门文章
PopupWindow使用
Handler发送消息
状态通知栏
安卓自定义开关控件(带有滑动功能)
计算缓存大小和清空缓存
七种对话框格式
Android LayoutInflater详解
System program problem detected 解决
exit()和_exit()函数
点云滤波简介
Copyright © 2011-2022 走看看