首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX 提问指南
广告
V2EX
›
问与答
三元组集合表示的目录结构怎么转换成目录序?
zhangxiao
·
2013-01-29 07:47:25 +08:00
· 2279 次点击
这是一个创建于 4274 天前的主题,其中的信息可能已经有所发展或是发生改变。
问题有些绕口,举个例子就明白了,假设我有一个目录结构:
每个节点的三元组结构是(id, parent, weight),对应上面结构的数据就是:
(1, 0, 0)
(2, 0, 1)
(3, 0, 2)
(4, 1, 0)
(5, 1, 1)
(6, 1, 2)
(7, 5, 0)
(8, 3, 0)
(9, 5, 1)
(10, 6, 0)
id表示节点序号;parent是父节点序号,根节点的parent是0;weight越小,在同级里排序越靠前。
现在我要根据这些三元组得到一个目录序:
也就是最后得到这样一个序列:
1, 4, 5, 7, 9, 6, 10, 2, 3, 8
最效率的方法是什么?
三元组
节点
parent
3 条回复
•
1970-01-01 08:00:00 +08:00
1
est
2013-01-29 09:45:28 +08:00
1
http://stackoverflow.com/questions/8241342/
但是我觉得有更简单办法做到。
2
est
2013-01-29 10:39:30 +08:00
其实这类问题有个名词,叫nested set或者modified preorder,很好玩的问题。嘎嘎。
3
zhangxiao
OP
2013-01-29 15:59:52 +08:00
@
est
谢谢,没想到还有专门的问题,我去研究研究 ;)
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
2763 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms ·
UTC 14:32
·
PVG 22:32
·
LAX 07:32
·
JFK 10:32
Developed with
CodeLauncher
♥ Do have faith in what you're doing.