PHP 如何实现用户二叉树排序需求
用户二叉树排序需求
用户注册,输入以下注册信息:
- 电子邮箱 - 密码 - 确认密码 - 推荐人ID(此ID可以在数据库中手动增加一个)
- 每注册进一个新用户,该用户就进入到排序中
排序规则
- 新增用户必须在推荐人下面
- 按照从左到右,从上到下的方式遍历,找到空位插入数据
4 可以显示给用户看
下列是图解:
假设A是根节点(A就是手动添加的第一位用户)
有一个新用户注册进来(假设新用户为B),推荐人ID填写的是A的ID,则排序如下:
A
/
B
又有一位C用户注册,推荐人ID填写的是B的ID,则:
A
/
B
/
C
有一位D用户注册,推荐人ID填写的是A的ID,则:
A
/
B D
/
C
有一位E用户注册,推荐人ID填写的是B的ID,则
A
/
B D
/
C E
有一位F用户注册,推荐人ID填写的是A的ID,则
A
/
B D
/ /
C E F
有一位G用户注册,推荐人ID填写的是E的ID,则
A
/
B D
/ /
C E F
/
G
有一位H用户注册,推荐人ID填写的是B的ID,则
H的推荐人是B,所以,H必定是在B的下面,然后按照从左到右的方式查找,C和E占了上面的两个位置,所以到下一排查找,找到空位,则插入H,以下都是这种规律
A
/
B D
/ /
C E F
/ /
H G
有一位I用户,和J用户又陆续注册进来,填写的都是C的ID,则
A
/
B D
/ /
C E F
/ /
H I G
/
J
有一位K用户,和L用户又陆续注册进来,填写的都是A的ID,则
A
/
B D
/ /
C E F K
/ /
H I G L
/
J
有一位M用户,N用户和O用户 又注册进来,填写的分别是B用户,C用户,和L用户的ID,则:
A
/
B D
/ /
C E F K
/ /
H I G L
/
J M
A
/
B D
/ /
C E F K
/ /
H I G L
/ /
J M N
A
/
B D
/ /
C E F K
/ /
H I G L
/ / /
J M N O
有一位P用户、Q用户、R用户、S用户又注册进来,填写的分别是A用户,B用户,E用户,A用户的ID。则:
A
/
B D
/ /
C E F K
/ / /
H I G L P
/ / /
J M N O
A
/
B D
/ /
C E F K
/ / /
H I G L P
/ / /
J M N Q O
A
/
B D
/ /
C E F K
/ / /
H I G L P
/ / / /
J M N Q R O
A
/
B D
/ /
C E F K
/ / /
H I G L P S
/ / / /
J M N Q R O
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个信息你是需要以什么样的形式展示勒