社区
Java SE
帖子详情
求非二叉树的深度优先遍历算法(急需)
baofish
2007-02-08 06:20:49
我已经在内存中构建了一个数,
其数据结构
Object[]
|
|- Object[0]=Name
|- Object[1]=new ArrayList();
|
Object[1].getElement(i)=new Object[2];
i=0..n
求其遍历算法!!(急需)
...全文
999
1
打赏
收藏
求非二叉树的深度优先遍历算法(急需)
我已经在内存中构建了一个数, 其数据结构 Object[] | |- Object[0]=Name |- Object[1]=new ArrayList(); | Object[1].getElement(i)=new Object[2]; i=0..n 求其遍历算法!!(急需)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
apm70plus
2008-04-22
打赏
举报
回复
你的数据结构好让人费解,我按自己理解的,遍历只是打印叶子节点,根节点没有存储值,只是存储子节点的引用
简单起见,以下是伪代码,这种遍历我感觉还是用第归容易实现,参考一下:
// 遍历树“姑且叫做树吧“的主程序
void searchTree(Object note) {
if note is Object[]
// 如果节点是数组,调用数组遍历子程序
searchArray((Object[]) note);
else if note is ArrayList
searchArrayList((ArrayList) note);
// 如果节点是连表,调用连表遍历子程序
else // 否则定是叶子节点,打印输出。
println(note);
}
// 数组遍历子程序
void searchArray(Object[] array) {
for i = 0 to array.length
searchTree(Object[i]);
// 以数组中每个子节点为根节点调用遍历主程序
}
// 连表遍历子程序
void searchArrayList(ArrayList list) {
for i = 0 to list.size
searchTree(list.get(i));
// 以连表中每个子节点为根节点调用遍历主程序
}
至于判断对象类型,也许可以用Class.isInstance(Object obj)
可能是目前为止最为详细的深度优先搜索DFS和广度优先搜索BFS
算法
分析
图的遍历是指从图中某一顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点访问一次,且仅访问一次。图的遍历常见
算法
有BFS和DFS。 文章目录(一)深度优先搜索DFS1、基本思路2、图示3、
算法
性能分析4、
深度优先遍历
的非递归写法(二)广度优先遍历BFS1、基本思想2、图示3、
算法
性能分析4、应用---BFS
算法
求解非带权图单源最短路径问题(三)经典
算法
题目分析1.Red and Black...
代码随想录
算法
训练营day15 | 层次遍历,226.翻转
二叉树
,101对称
二叉树
【代码】代码随想录
算法
训练营day15 | 层次遍历,226.翻转
二叉树
,101对称
二叉树
。
平衡
二叉树
算法
实现课设(附:源码与文档)
平衡
二叉树
算法
实现课设
[日记]LeetCode
算法
·四——
二叉树
①
leetcode
算法
,
二叉树
典型
算法
算法
以及应用
目录 一、 评估你的复杂度 二、深度优先搜索 必须弄清楚的递归思想: 简单的深度搜索框架 深度搜索的优化:迭代加深(ID DFS) 深度搜索的优化: IDA* *重叠子问题(记忆化搜索) 三、宽度优先搜索 宽度优先搜索框架: 分支定界: A* 四、二分查找 查找有序数列中的某个值 二分查找
算法
分析 STL中的二分法查找: 二分答案(不只是查找值) 一、 评估你的...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章