用户二叉树排序需求

用户注册,输入以下注册信息:

- 电子邮箱

- 密码

- 确认密码

- 推荐人ID(此ID可以在数据库中手动增加一个)

每注册进一个新用户,该用户就进入到排序中

排序规则

新增用户必须在推荐人下面

按照从左到右,从上到下的方式遍历,找到空位插入数据

下列是图解:

假设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

php二叉树 排列,PHP 如何实现用户二叉树排序需求相关推荐

  1. 二叉树查找结点c语言_二叉树操作详解

    (给C语言与CPP编程加星标,提升C/C++技能) 来源:https://segmentfault.com/a/1190000008850005 [导读]:树是数据结构中的重中之重,尤其以各类二叉树为 ...

  2. C语言二叉树字符统计,C语言实现二叉树-利用二叉树统计单词数目

    昨天刚参加了腾讯2015年在线模拟考: 四道大题的第一题就是单词统计程序的设计思想: 为了记住这一天,我打算今天通过代码实现一下: 我将用到的核心数据结构是二叉树: (要是想了解简单二叉树的实现,可以 ...

  3. c语言二叉树链式存储,C语言 二叉树的链式存储实例

    二叉树的链式存储 实现二叉树的基本操作:建立.遍历.计算深度.结点数.叶子数等. 输入C,先序创建二叉树,#表示空节点: 输入H:计算二叉树的高度: 输入L:计算二叉树的叶子个数: 输入N:计算二叉树 ...

  4. 一文搞懂二叉树遍历---超详解(二叉树逐步剖析二)

    大家好!这里是小张,上次我们说到了二叉树的存储结构,今天我们继续来说说二叉树的遍历,废话不多说,我们现在就开始! 另外有很多小伙伴们在学习算法的时候,只去学习一些关于算法理论的知识,并不知道自己的代码 ...

  5. 【IT笔试面试题整理】给定二叉树先序中序,建立二叉树的递归算法

    [试题描述]:  给定二叉树先序中序,建立二叉树的递归算法 其先序序列的第一个元素为根节点,接下来即为其左子树先序遍历序列,紧跟着是右子树先序遍历序列,固根节点已可从先序序列中分离.在中序序列中找到 ...

  6. 二叉树的层序遍历算法 + 打印二叉树所有最左边的元素(算法)

    二叉树的层序遍历算法 + 打印二叉树所有最左边的元素(算法) 层序遍历 /** * 树结构定义 */ private static class BinaryNode<T> {BinaryN ...

  7. 数据结构 二叉树的存储结构_线程二叉树| 数据结构

    数据结构 二叉树的存储结构 线程二叉树 (Threaded Binary Tree ) A binary tree can be represented by using array represen ...

  8. c++ 删除二叉树的子树_数据结构—树|二叉树|前序遍历、中序遍历、后序遍历【图解实现】...

    点击蓝字关注我们 AI研习图书馆,发现不一样的精彩世界 数据 结构 二叉树的遍历 一.树 在谈二叉树的知识点之前,我们首先来看一下树和图的基本概念.树:不包含回路的连通无向图,树是一种简单的非线性结构 ...

  9. 二叉树为空意味着二叉树_我是怎么调试出来二叉树的遍历(超精彩配图),从此遍历不再愁了...

    推荐学习 牛掰!"基础-中级-高级"Java程序员面试集结,看完献出我的膝盖 数据结构与算法,程序员必过的坎?不掌握一定挤不进BATJ的神技? 我是怎么调试出来二叉树的遍历(超精彩 ...

最新文章

  1. 【硬核干货 | 程序的编译、链接、装载与运行】
  2. java语言程序设计期末复习综合练习题_Java语言程序设计期末复习综合练习题答案...
  3. office(Word、Excel、PPT等图标异常和桌面无新建解决方案)
  4. 2018这一年或平淡或不凡,2019看更大的世界
  5. 【NLP】文本相似度的BERT度量方法
  6. 计算机视觉:图像分类定位(单一目标检测)python实现
  7. python点操作符语法_最基础的python语法
  8. ROS Kinetic 与STM32通信,控制一盏LED灯
  9. 女人15个秘密武器疼爱男人(女人必看)
  10. Web PostMessage
  11. 基站寻找邻居节点索引号的MATLAB代码
  12. Spring : Spring Aop 获取增强(通知)
  13. 中国金融出版社出版的2016版《综合》
  14. excel转pdf排版怎么不变
  15. Linux内核网络UDP数据包发送(四)——Linux netdevice 子系统
  16. 命名实体识别难在哪?
  17. 前后端交互流程,如何进行交互
  18. 老大告诉我不要用字符串存IP地址,不兴~
  19. 用python写bp神经网络作价格预测_bp神经网络预测python
  20. 阿里巴巴高效的页面动画解决方案——Ant Motion Design

热门文章

  1. 自学python有用吗-文科专业自学python有用吗?
  2. python语言入门w-python3入门之类
  3. python切片语法-Python切片符号(:)用法及示例
  4. python中怎么安装pip-python中怎么安装pip
  5. excel调用python编程-使用Python和xlwt向Excel文件中写入中文的实例
  6. mysql新增json_MySQL5.7中新增的JSON类型的使用方法
  7. 训练指南第一部分解题报告
  8. 网络编程学习笔记(套接口超时)
  9. 题目1184:二叉树遍历
  10. Git 合并两个不同的仓库