社区
数据结构与算法
帖子详情
树同构
lzy18lzy
2009-08-04 01:50:58
有两棵树,一大一小,怎判断能否把大的树,修剪成小的那棵树,也可以叫做同构!!!
求方法,简单快速就最好!!!
...全文
495
17
打赏
收藏
树同构
有两棵树,一大一小,怎判断能否把大的树,修剪成小的那棵树,也可以叫做同构!!! 求方法,简单快速就最好!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lzy18lzy
2009-09-10
打赏
举报
回复
继续顶下
lzy18lzy
2009-08-13
打赏
举报
回复
[Quote=引用 12 楼 fancymouse 的回复:]
dp[i,j]表示大树以i为根节点的子树修剪以后是否可以匹配小树以j为根节点的子树,以这个状态进行树型dp,每次转移需要做最大匹配,dp[i,j]=true当且仅当最大匹配数等于j的孩子树。复杂度应该4次。如果节点无序的话小树还需要枚举根节点。
[/Quote]
这个DP方法不错;
枚举可以这样剪枝:(枚举大树)
取一个小树最大分枝节点,作为小树根.然后枚举大树节点,
以当前大树的节点根的分枝数>小树当前根节点数&& 以当前大树的节点为根时的树最大深度>=小树当前深度
就可以用当前的大树节点为根,与小树比较
FancyMouse
2009-08-13
打赏
举报
回复
说什么hash啦最小表示法啦的看清lz题意。大树可以修剪,i.e.这是子树同构问题不是树同构。光用hash/最小表示乃们想枚举所有子树?
liao05050075
2009-08-13
打赏
举报
回复
树的同构判断可以使用Hash
http://hi.baidu.com/clumsydragon/blog/item/8695b203bc7a98713812bb60.html
FancyMouse
2009-08-13
打赏
举报
回复
1c1
< dp[i,j]=true当且仅当最大匹配数等于j的孩子树
---
> dp[i,j]=true当且仅当最大匹配数等于j的孩子数
FancyMouse
2009-08-13
打赏
举报
回复
dp[i,j]表示大树以i为根节点的子树修剪以后是否可以匹配小树以j为根节点的子树,以这个状态进行树型dp,每次转移需要做最大匹配,dp[i,j]=true当且仅当最大匹配数等于j的孩子树。复杂度应该4次。如果节点无序的话小树还需要枚举根节点。
dl551djs
2009-08-12
打赏
举报
回复
顶
lzy18lzy
2009-08-11
打赏
举报
回复
顶下
黄舒颖 咸丫蛋
2009-08-07
打赏
举报
回复
楼主下面解释了一下什么叫同构。
我的意思是有没有可能有一些数学上的统计数字,或一个简单的式子
比如对于某个节点,到其它节点距离,刚好和子树的距离刚好一一相等,则相等(很可能不正确噢)
能够代表同构,而不需要去全局搜。
[Quote=引用 5 楼 superspring 的回复:]
引用 4 楼 vshuang 的回复:
这种方法肯定可以的。
不过,复杂度比较高。而且左子树和右子树还可以换位。
还有更好又更简单的方法么?
帮顶
引用 3 楼 superspring 的回复:
你搞错了吧,同构的话首先两棵树大小应该一样吧,可能你所说的同构跟一般定义不一样。
回归你的问题,要把大树修改成小,必须对两颗树从根开始进行递归,
以二叉树为例,对于每个对应节点,如果
大树有左右子树,小树可以有左右子…
[/Quote]
lzy18lzy
2009-08-07
打赏
举报
回复
[Quote=引用 2 楼 ToBeTough 的回复:]
是不俩棵数的接点数目一样且不完全相同就是同构?是的话,就简单拉。
[/Quote]
所谓同构,就是可以通过旋转,得出来的图形,是一模一样...
lzy18lzy
2009-08-07
打赏
举报
回复
这是两棵多叉树来的100个节点以内,除了树深度剪枝+树分枝数剪枝,还有什么加速搜索方法
lzy18lzy
2009-08-07
打赏
举报
回复
请看这个题目:
http://acm.nuaa.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1295
黄舒颖 咸丫蛋
2009-08-05
打赏
举报
回复
这种方法肯定可以的。
不过,复杂度比较高。而且左子树和右子树还可以换位。
还有更好又更简单的方法么?
帮顶
[Quote=引用 3 楼 superspring 的回复:]
你搞错了吧,同构的话首先两棵树大小应该一样吧,可能你所说的同构跟一般定义不一样。
回归你的问题,要把大树修改成小,必须对两颗树从根开始进行递归,
以二叉树为例,对于每个对应节点,如果
大树有左右子树,小树可以有左右子树,也可以有右子树,也可以没有子树,
大树有左子树,小树可以有左子树,可以没有子树,
大树有右子树,小树可以有右子树,可以没有子树,
大树没有子树,小树可以不可以有子树
递归进…
[/Quote]
superspring
2009-08-05
打赏
举报
回复
[Quote=引用 4 楼 vshuang 的回复:]
这种方法肯定可以的。
不过,复杂度比较高。而且左子树和右子树还可以换位。
还有更好又更简单的方法么?
帮顶
引用 3 楼 superspring 的回复:
你搞错了吧,同构的话首先两棵树大小应该一样吧,可能你所说的同构跟一般定义不一样。
回归你的问题,要把大树修改成小,必须对两颗树从根开始进行递归,
以二叉树为例,对于每个对应节点,如果
大树有左右子树,小树可以有左右子树,也可以有右子树,也可以没有子树,…
[/Quote]
而且左子树和右子树还可以换位。?不明白
这个复杂度不高啊,要做的就是访问小树的所有节点,没办法访问更少了,只能说递归可能不够快
superspring
2009-08-04
打赏
举报
回复
你搞错了吧,同构的话首先两棵树大小应该一样吧,可能你所说的同构跟一般定义不一样。
回归你的问题,要把大树修改成小,必须对两颗树从根开始进行递归,
以二叉树为例,对于每个对应节点,如果
大树有左右子树,小树可以有左右子树,也可以有右子树,也可以没有子树,
大树有左子树,小树可以有左子树,可以没有子树,
大树有右子树,小树可以有右子树,可以没有子树,
大树没有子树,小树可以不可以有子树
递归进行判断,只要有一个几点不满足上面条件就返回 false
否则递归下去直到遍历小树的每个点
ToBeTough
2009-08-04
打赏
举报
回复
是不俩棵数的接点数目一样且不完全相同就是同构?是的话,就简单拉。
LeonTown
2009-08-04
打赏
举报
回复
先mark
树
的
同构
.rar
树
的
同构
.rar
树
的
同构
.rar
树
的
同构
.rar
用C语言实现“
树
的
同构
”
该题是在数据结构课程中遇到的。给出两棵
树
,要求判断
树
是否
同构
。该资源给出
树
的
同构
程序基本框架与必要的代码注释。
分布式数据库解决方案组成的生态圈Apache ShardingSphe
它们均提供标准化的数据水平扩展、分布式事务和分布式治理等功能,可适用于如 Java
同构
、异构语言、云原生等各种多样化的应用场景。 Apache ShardingSphere 旨在充分合理地在分布式的场景下利用关系型...
陈越、何钦铭-数据结构作业9:
树
的
同构
给定两棵
树
T1和T2。如果T1可以通过若干次...例如图1给出的两棵
树
就是
同构
的,因为我们把其中一棵
树
的结点A、B、G的左右孩子互换后,就得到另外一棵
树
。而图2就不是
同构
的。现给定两棵
树
,请你判断它们是否是
同构
的。
论文研究-一种非确定
树
模式挖掘算法.pdf
其基本思想为:提出非确定
树
蕴含集、确定
树
概率和非确定期望支持度等概念,提出将非确定
树
的期望支持度作为
树
的支持度,提出非确定
树
支持度计算方法,利用哈希表能快速匹配的特性降低求解期望支持度过程中
树
同构
判定...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章