使用php mysql在二叉树中查找插入位置和子节点数
技术问答
495 人阅读
|
0 人回复
|
2023-09-12
|
脸是我的表数据6 r5 D* K0 K- p, X5 C: Y, b c1 W
------------- ----------- ---------------- | 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 找到插入位置
+ ?8 Z! o) z+ h5 ^1 [# H例如:
' i! u) s8 Z; r( b8 N+ ]- R* k# k1) 如果 parent_id 为 1,插入位置为 root-3 position-L% k! L; ~; a6 F$ C
2) 如果 parent_id 为 2,插入位置为 root-4 position-R$ o7 e; U0 w9 t& }
3) 如果 parent_id 为 3,插入位置为 root-3 位置-L9 s `; ^) [+ ^9 ~
问题是它需要遵循二进制结构8 N5 c- A) F7 y( p1 D8 G
我还需要根据父节点计算子节点数,例如:
; Y# {7 O! n% T5 g1 ~1 - 5 2 - 3 3 - 0 4 - 1 5 - 0我需要在 php 和 mysql 完成这个。2 g( O/ v- `- c! T5 m' t& b
任何人都能向我建议实现这个目标最简单的方法吗?
! i) _$ m- L4 O0 \+ o5 I4 G( C - r2 X G% w; O( l5 q% ^! }& Q% Z
解决方案: |
|
|
|
|
|