这个 construct the binary search tree 是 按 照 输 入 顺 序 构 造 的,每次从根部遍历按照二叉搜索树原理去找值然后把节点加上去
traverse the tree starting from the root 当时查单词的时候 traverse
只看到了"旋转" 然后就懵了, 结果还有遍历的意思,而且根据句子翻译也是 遍历 (┬_┬) 这里不用rotate()旋转
看了题解才注意到这个,然后才搞明白 ^_^
所以每次插入,只要考虑已经出现(在树上)的比它大而且在隔壁iter, 比它小而且在隔壁--iter,的两个位置
这时--iter 可能是iter的左节点 或者 iter是--iter的右节点 这2种情况之一,
所以先判断,iter左节点是否有值 //先判断--iter的右边是否有值也可以,效果一样。反正2种情况中的一种
如果没有值就放上去
如果有值就插在--iter的右边
#include
#include
#include
#include
非特殊说明,本博所有文章均为博主原创,未经许可不得转载。
https://www.prolightsfxjh.com/
Thank you!
------from ProLightsfx
非特殊说明,本博所有文章均为博主原创,未经许可不得转载。
如经许可后转载,请注明出处:https://prolightsfxjh.com/article/codeforces-round-353-div-2-d-tree-construction/
共有 0 条评论