已知所有节点的标识,父节点标识,所有节点存在一个集合中,如何快速地构建树?
所有节点的标识可以认为是唯一的。可以不用代码表达,表达完整清晰的思路即可,感谢园子里的各位大神。
要构建树,离不开循环,要快速,可以用foreach
感谢你的回答,如果用一个双重遍历的话,比对的次数比较多,有没有可能从算法上减少比对的次数呢?
@.NetDomainer: 首先且不说快慢的问题,你要先能实现最终目的;然后才是考虑性能的优化,如果对比次数过多,可以考虑下是不是节点的结构本身过于复杂。设计上过于复杂,解析起来也没有多大优化的可能性。
用链表存储,不用害怕是双向边,记录点u的父亲fa[u],不经过这个点就行了。