使用php mysql在二叉树中查找插入位置和子节点数
技术问答
451 人阅读
|
0 人回复
|
2023-09-12
|
脸是我的表数据
8 \, X+ B5 u( i* B ------------- ----------- ---------------- | customer_id | parent_id | node_direction | ------------- ----------- ---------------- | | | T || | | L || | | R || | | L || 5 5 5 5 55 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5555 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 | | R || | | L | ------------- ----------- ---------------- Which represents the following tree | --------- | | 3 | ------- | | 5 | ----- | 我需要通过父 ID 找到插入位置3 b" t8 {+ S7 h; x7 z, S, \
例如:7 c! J! x5 q$ r" K' ]
1) 如果 parent_id 为 1,插入位置为 root-3 position-L
7 ?5 X3 b" i+ ^2 h6 m3 C/ a2) 如果 parent_id 为 2,插入位置为 root-4 position-R
. [% a) ? F. w# M: J3) 如果 parent_id 为 3,插入位置为 root-3 位置-L
9 S& j5 I, q! O, {! I5 C7 f8 e7 C问题是它需要遵循二进制结构 }2 v; h0 `/ ^* |. V$ |2 _3 P( `8 \
我还需要根据父节点计算子节点数,例如:/ l, ?. }( l0 W
1 - 5 2 - 3 3 - 0 4 - 1 5 - 0我需要在 php 和 mysql 完成这个。
3 J0 [$ |: E) G+ D! z4 S任何人都能向我建议实现这个目标最简单的方法吗?3 g+ L2 b4 }* r* `
7 f' }6 {7 m) A x+ q6 M
解决方案: |
|
|
|
|
|