一.什么是基数排序我们以前接触的很多算法,都是通过比较的得出的,但基数排序是另一种思路。原理类似桶排序,这里总是需要10个桶,多次使用首先以个位数的值进行装桶,即个位数为1则放入1号桶,为9则放入9号桶,暂时忽视十位数例如待排序数组[62,14,59,88,16]简单点五个数字,分配10个桶,桶编号...
分类:
编程语言 时间:
2015-03-15 16:30:09
阅读次数:
158
数组排序是一个常见的操作。基于比较的排序算法其性能下限是O(nlog(n)),但在分布式环境下面我们可以并发,从而提高性能。这里展示了Spark中数组排序的实现,并分析了性能,同时尝试找到导致性能提升的原因。...
分类:
编程语言 时间:
2015-02-27 00:23:48
阅读次数:
211
$a = $b = array(); foreach($result['info'] as $val){ $a[] = $val['release_time']; //a列 $b[] = $val['tid']; //c列 } array_multisort($a,SORT_DESC , $b, S...
分类:
编程语言 时间:
2015-02-10 13:14:05
阅读次数:
216
在Java中,对一个数组或列表(在本文中统称为集合)中的元素排序,是一个很经常的事情。好在Sun公司在Java库中实现了大部分功能。如果集合中的元素实现了Comparable接口,调用以下的静态(static)方法,就可以直接对集合排序。// 数组排序方法// 数组中的元素可以是像int这样的原生类...
分类:
编程语言 时间:
2015-01-30 16:46:23
阅读次数:
362
原题地址对于已排序数组,二分法递归构造BST代码: 1 TreeNode *buildBST(vector &num, int i, int j) { 2 if (i > j) 3 return NULL; 4 5 int m = (i + j) /2; 6 T...
分类:
其他好文 时间:
2015-01-30 10:26:25
阅读次数:
158
【题目】
题目为:
有一个已经排序的数组(升序),数组中可能有正数、负数或0,求数组中元素的绝对值最小的数,要求,不能用顺序比较的方法(复杂度需要小于O(n)),可以使用任何语言实现
例如,数组{-20,-13,-4, 6, 77,200} ,绝对值最小的是-4。
【分析】
给定数组是已经排好序的,且是升序,没有重复元素。
一...
分类:
编程语言 时间:
2015-01-29 21:12:05
阅读次数:
214
数组中有一个sort方法,用于数组排序,sort可以接收一个参数,指明比较函数。定义比较函数 //比较函数 function compareFun(value1,value2){ if(value1 > value2){ return 1; }e...
分类:
编程语言 时间:
2015-01-29 21:05:21
阅读次数:
215
希尔排序是不稳定的,但是它比直接插入排序要快得多。
希尔排序又称为缩小增量排序,这是对直接插入排序的一种改进方法,其过程是:首先以d1 (0进行直接插入排序。然后,以d2(0
一般的初次取序列的一半为增量,以后每次减半,直到增量为1。
借用百度百科里的一张图,更直观一些。
// 希尔排序 x待排序数组, n数组长度
private static void shellSor...
分类:
编程语言 时间:
2015-01-29 17:45:49
阅读次数:
199
对翻过一次的排序数组二分查找,要利用好已排序这个条件
class Solution {
public:
int search(int A[], int n, int target) {
int left = 0, right = n-1;
while(left <= right){
int mid = (left+right)/2...
分类:
其他好文 时间:
2015-01-28 18:04:40
阅读次数:
129
数组-03. 冒泡法排序(20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者徐镜春(浙江大学)将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必...
分类:
编程语言 时间:
2015-01-22 00:11:55
阅读次数:
464