
树
joeycom2
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线段树
首先我们来看一下线段树的定义,线段树是一种二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。 线段树问题可以大致分为以下四类 1.单点更新:原创 2016-10-24 20:53:30 · 262 阅读 · 0 评论 -
常用排序模板
快速排序 其思想是:先选一个“标尺”, 用它把整个队列过一遍筛子, 以保证:其左边的元素都不大于它,其右边的元素都不小于它。 这样,排序问题就被分割为两个子区间。 再分别对子区间排序就可以了。 选择排序 思想:重复选择数组内的最大值,交换到合适的位置。该排序方法比较慢。 堆排序 思想:堆实际上是一棵完全二叉树,利用大顶堆(小顶堆)堆顶记录的是最大关键字(最小关键字)这一特性,使得每次从原创 2017-03-06 22:16:15 · 511 阅读 · 0 评论