【省选】算法总结——划分树

本文介绍了划分树的基本思想和做法,类似于归并排序,通过不断划分区间并选择基准,保持每个子区间有序。文章详细讲解了如何建树、处理重复元素以及查找第K大数的方法,并给出了具体的代码实现。在处理重复元素时,通过维护same变量来确定相同元素的分布。
摘要由CSDN通过智能技术生成

130404总结——划分树

 

刚学了划分树,彻底蛋疼了。。。。。。。

 

怕忘了,先总结一下

 

注意:本文中第K大是指从小到大排序后的第K个数,如下表

原数组

2 1 3 2 3

排序后

1 2 2 3 3

K=1

1

K=2

2

K=3

2

K=4

3

K=5

3

所以可能会出现重叠的情况

 

 


1. 基本思想及做法

 

类似归并排序,把区间每次均分,选一个基准,小于该基准的到左子树,大于的到右子树,然后分别让左右子树有序,但是每个区间要保证相对顺序,这就可以实现归并排序

每个区间要保证相对顺序

比如7 9 5 4 8 ,我们要把7 5 4三个数分到左子树,但是到了左子树后他们的位置必须是7 5 4 ,而不能是4 5 7等等,一句话

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值