【发布时间】:2020-06-15 17:42:53
【问题描述】:
我正在努力解决这个问题,我已经尝试了几次,但都失败了。
基本上,我在数据库中有一个员工列表,每个员工都有一个 ID。员工可以有一个父员工(称为经理)。
我需要以某种 json 格式的树输出结构,如此 URL 所示
【问题讨论】:
我正在努力解决这个问题,我已经尝试了几次,但都失败了。
基本上,我在数据库中有一个员工列表,每个员工都有一个 ID。员工可以有一个父员工(称为经理)。
我需要以某种 json 格式的树输出结构,如此 URL 所示
【问题讨论】:
JSON 可以有这样的结构,包含一个员工数组:
{
"employees":[
{
"id": 1764,
"name": "Maaz",
... //other fields... this employee has no parent field or
// "parent" : 0 (invalid value)
},
{
"id": 1765,
"parent": 1764,
//other fields... this employee has Maaz as parent
}
]
}
"parent" 可以简单地是员工的可选字段,包含父员工的id。
如果 json 有递归(即"parent": { /*...*/ }),这会产生几个问题,例如:
另一方面,当您查找员工 1765 时,一个平面列表只需要 2 O(n) 次搜索。然后,您将找到其父 id 并再次在列表中搜索具有比 id 的员工,如果它存在。
添加员工时,添加不带父字段并稍后编辑。当您删除员工时,只需将其删除,最终会在(固定)搜索时间找到断开的链接。
【讨论】: