1
rrfeng 2014-11-20 17:30:46 +08:00
你这个是树吗?还是说排版出了问题??
|
2
kslr 2014-11-20 18:37:49 +08:00 via Android
有个tree命令
|
4
imn1 2014-11-20 18:51:41 +08:00
把“-”替换为xml标签,外套<root></root>
然后用xml parse吧 其实每个字串是全路经的简单多了,方法多的是,正则什么的都可以,最简单就是排排序也能按字符顺序提取啊 那些用parent id的才算难,可能要二叉树什么的 |
5
aaaa007cn 2014-11-20 19:11:05 +08:00
后缀树……吗?
|
9
rrfeng 2014-11-20 19:50:29 +08:00 1
我懂了
最终目的是转成 xml 形式 所谓的成『树』只是为了进一步添加标签罢了。 按理说这个变成树形不是很难啊 创建一个树结构,第一条 ABCD 存进去 然后后面每条从 X[0],查找树上有无这个节点,找到的话看子节点是否有X[1], 有的话继续,没的话添加子节点,后面的所有子节点直接跟上,不用再遍历了。 实际上不需要变树这一步,跟变成 xml 是同样的过程。 或许有直接 parse 成 xml 的方法?找找看? |
10
imn1 2014-11-20 20:10:14 +08:00 1
@iMouseWu
不需要作对应,换成相同的标签就行了,只是要一个套一个,形成层级就够了 <node>A<node>B<node>……</node></node></node> 然后用xpath paser(前面我写错了xml paser),用交并差去重,再组合 |
11
aaaa007cn 2014-11-20 20:44:26 +08:00
不知道为什么一开始会想到后缀树……
刚才想了下 这不是有向图的遍历问题么 然后看到更新 又糊涂了 假设有 A-B-C-D A-B-C-E A-F-C-G 那么输入 3|C 输出应该是什么? 那个“同一层级下不能有相同的名字”的前提是问题中已经确定的还是你自己假设的? |