【题型:如何判断是否可能是二分查找判定树?】【转载】

转载自博文:https://blog.csdn.net/baidu_32258281/article/details/78306489

1-10,10个数

折半查找

中位数为(5+6)/2=5.5

有些问题防止溢出求两数之和除2时使用    b+((a - b) >> 1)

①折半向上取整
第一层(第一次折半):    (1-10)->5.5->6

第二层(第二次折半):    6左孩子(1-5)->3

6右孩子(7-10)->(8+9)/2=8.5->9

第三层(第三次折半):    3左孩子(1-2)->(1+2)/2=1.5->2

3右孩子(4-5)->(4+5)/2=4.5->5

9左孩子(7-8)->(7+8)/2=7.5->8

9右孩子(10)->10

第四层(第四次折半):    2左孩子(1)->1

5左孩子(4)->4

8左孩子(7)->7

②向下取整

posted @ 2019-11-01 18:22  DIY-Z  阅读(628)  评论(0编辑  收藏  举报