在数据库中实现可自定义(意味着具有未知级别的树结构)树数据结构的最佳方法是什么?
在使用带有外键的表之前,我已经完成了这一次.
你能看到其他什么实现,这种实现是否有意义?
我有一堆扁平结构的物体.这些物体具有ID和ParentID属性,因此它们可以排列在树木中.它们没有特别的顺序.每个ParentID属性不一定与ID结构中的a 匹配.因此它们可能是从这些物体中出现的几棵树.
您将如何处理这些对象以创建生成的树?
我不是一个解决方案,但我确信它远非最佳...
我需要创建这些树,然后按正确的顺序将数据插入数据库.
没有循环引用.当ParentID == null或在其他对象中找不到ParentID时,Node是RootNode
从学术上讲,数据结构Tree和Graph之间的本质区别是什么?那么基于树的搜索和基于图的搜索呢?
我有一个复杂的json文件,我必须使用javascript来使其分层,以便以后构建一个树.json的每个条目都有:id:唯一id,parentId:父节点的id(如果节点是树的根,则为0)level:树中的深度级别
json数据已经"排序".我的意思是一个条目将在其上方拥有父节点或兄弟节点,并且在其自身下面是子节点或兄弟节点.
输入:
{
"People": [
{
"id": "12",
"parentId": "0",
"text": "Man",
"level": "1",
"children": null
},
{
"id": "6",
"parentId": "12",
"text": "Boy",
"level": "2",
"children": null
},
{
"id": "7",
"parentId": "12",
"text": "Other",
"level": "2",
"children": null
},
{
"id": "9",
"parentId": "0",
"text": "Woman",
"level": "1",
"children": null
},
{
"id": "11",
"parentId": "9",
"text": "Girl",
"level": "2",
"children": null
}
],
"Animals": [
{
"id": "5",
"parentId": "0",
"text": "Dog",
"level": "1",
"children": null …Run Code Online (Sandbox Code Playgroud) 我有一大堆的名字 - parentname对,我想转成少数heirarchical树形结构成为可能.例如,这些可能是配对:
Child : Parent
H : G
F : G
G : D
E : D
A : E
B : C
C : E
D : NULL
Run Code Online (Sandbox Code Playgroud)
需要转化为(a)层次结构树:
D
??? E
? ??? A
? ? ??? B
? ??? C
??? G
??? F
??? H
Run Code Online (Sandbox Code Playgroud)
我想要的最终结果是一组嵌套的<ul>元素,每个元素都<li>包含孩子的名字.
有在配对没有不一致(孩子是它自己的父母,父母是孩子的孩子,等等),所以一堆优化大概可以做.
在PHP中,我如何从包含child => parent对的数组转到一组嵌套<ul>s?
我有一种感觉,涉及到递归,但我还没有完全清醒地思考它.
在Linux/KDE中,我可以将目录看作树.我怎么能在Windows 7中做到这一点?
考虑我不是指"Windows资源管理器".这只是显示目录,我也想要文件.
我想渲染一棵深度不确定的树(儿童的孩子等).我需要递归地遍历数组; 我怎么能在Twig中这样做?
我只是想知道是否有人能够为我澄清平衡树的定义.我知道"如果每棵子树都是平衡的,那么树就会平衡,两棵子树的高度最多相差一个.
如果这是一个愚蠢的问题,我很抱歉,但这个定义是否适用于每个节点一直到树的叶子,或者仅适用于根目录下的左右子树?我想另一种框架方式是,树的内部节点是否可能不平衡并且整个树保持平衡?
作为程序员,我应该何时考虑使用RB树,B树或AVL树?在决定选择之前需要考虑哪些关键点?
有人可以解释一下每个树形结构的场景,为什么选择其他树木结构参考关键点?