算法
hapjin
这个作者很懒,什么都没留下…
展开
-
使用JAVA泛型实现快速排序
一,快速排序介绍 ①分治特性:快速排序是分治思想的一种体现,在进行每一轮排序前先选定枢轴(pivot)元素,经过一轮排序后,所有比枢轴元素小的元素在枢轴元素的左边,所有比枢轴元素大的元素在枢轴元素的右边。这样,经过一轮排序后,就把整个待排序数组的元素分成了两部分,然后再分别对这两部分元素按两样的方式进行排序----分治思想。 二,快速排序的具体步骤 为简单起见,总是选择第一个位置处的原创 2015-10-19 17:22:02 · 1576 阅读 · 0 评论 -
快速排序中的分割算法实现
这里介绍快速排序使用到的两种分割算法。 对于快速排序而言,先选定一个枢轴元素,以枢轴元素为基准比枢轴元素小的元素放在枢轴元素的左边,比枢轴元素大的元素放在枢轴元素的右边。这就是一次分割过程。 1,先介绍第一种分割算法 该算法是《算法导论》中描述的PARTITION过程。这个分割的思想应该有很多应用,比如应用到快速排序中,再比如应用到如果获取中位数(或者给定一组数,找出其中第K小的元素) 该原创 2015-11-11 19:38:40 · 3561 阅读 · 0 评论 -
中位数和顺序统计学之求解顺序统计量
介绍了一种如何在O(n)时间内,求解出一组数的顺序统计量。即,给定N个数,在O(N)的时间内求出第K小的元素。1 =< K <= N原创 2015-11-11 20:16:31 · 2203 阅读 · 0 评论