模拟过程
- 插入根节点A
- 在父节点A的左下方插入子节点B
- 在父节点A的右下方插入子节点C
- 在父节点B的左下方插入子节点D
- 在父节点B的右下方插入子节点E
- 在父节点C的左下方插入子节点F
...
分析过程
每次插入节点需明确被插入的父节点以及被插入的位置(左右)
明确被插入的父节点
第1步中,需将A存储,因为A在第2,3步中被取出,作为插入操作的父节点
第2步中,需将B存储,因为B在第4,5步中被取出,作为插入操作的父节点
第3步中,需将C存储,因为C在第6步中被取出,作为插入操作的父节点,与此同时,A在被执行右下方的插入操作后,A不能再被插入子节点
...
第5步中,需将E存储,其在后续的操作中会被取出,作为插入操作的父节点,与此同时,B与A一样,在被执行右下方的插入操作后,B不能再被插入子节点
故建个队列,将后续操作中会被取出的节点存储,不会再被取出的节点移除。每次插入的新节点都会入列。同时,若新节点被插入到父节点的右下方&