V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bosshida
V2EX  ›  编程

问个问题,如何把下述格式的数组解释成树,深度优先遍历打印出来?

  •  
  •   bosshida · 2016-06-27 20:55:36 +08:00 · 3170 次点击
    这是一个创建于 3069 天前的主题,其中的信息可能已经有所发展或是发生改变。

    数组格式: [ { "title" : "用户管理", "data_1" : "552559277", "parentid" : "7612", "key" : "7667" }, { "title" : "开户", "data_1" : "", "parentid" : "7612", "key" : "7668" }, { "title" : "用户资料修改", "data_1" : "552559279", "parentid" : "7612", "key" : "7669" },... ]

    如何组织成树结构,并按深度优先遍历,打印出来? data_1 若不为空,则收录为树内,若 data_1 为空,则不收录到树。 最好用 python 实现。

    3 条回复    2016-06-28 08:52:24 +08:00
    messyidea
        1
    messyidea  
       2016-06-27 21:35:17 +08:00 via Android
    扫两遍。第一遍建边,第二遍打印。手机不太好打字
    zmj1316
        2
    zmj1316  
       2016-06-27 23:05:56 +08:00
    如果存储没有什么规律只能先扫一遍建树再输出了吧
    mckelvin
        3
    mckelvin  
       2016-06-28 08:52:24 +08:00
    LZ 没有描述清楚问题。数组这么个格式,展开之后会有多少个根节点?(多个根节点可以理解为多棵树,这儿假设最终只有一个根节点)

    https://gist.github.com/mckelvin/f6b97a3c8fae969ff6d9505946759991
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5332 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 08:00 · PVG 16:00 · LAX 00:00 · JFK 03:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.