回答

收藏

使用php mysql在二叉树中查找插入位置和子节点数

技术问答 技术问答 524 人阅读 | 0 人回复 | 2023-09-12

脸是我的表数据: m3 }: M4 Z. D% Z6 t9 ^/ u
    ------------- ----------- ---------------- | 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 c6 _3 ?; t+ b% m* y例如:
6 v( D5 h4 _' q% o, E  k/ \0 Q6 ]1) 如果 parent_id 为 1,插入位置为 root-3 position-L% Q* |. _, f  Z  y$ j) b  `
2) 如果 parent_id 为 2,插入位置为 root-4 position-R+ A4 n% L( W9 @, V
3) 如果 parent_id 为 3,插入位置为 root-3 位置-L0 d# m& m: Z7 k
问题是它需要遵循二进制结构
. p2 z+ M, Y7 O我还需要根据父节点计算子节点数,例如:
& u# K  q* D* u: q. q6 m1 - 5 2 - 3 3 - 0 4 - 1 5 - 0我需要在 php 和 mysql 完成这个。: D9 X8 m2 T' W* x$ b' b! I
任何人都能向我建议实现这个目标最简单的方法吗?5 H2 c0 e5 Z( }. [) s9 ^0 U* c
                                                                ( S  ?+ E; f5 h+ G8 r- W! Y* x. P  o
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则