2014年5月28日
摘要: 找出一个数组的最大值和最小值是比较容易的,我们只需遍历一次数组即可。但是寻找一个数组的第i小或者第i大,就需要一些技巧使得查找的时间尽可能小。随机化划分选择算法是一个时间复杂度为O(n)的算法。int fIndmax(int a[],int p,int r,int i){ if(p==r) ... 阅读全文
posted @ 2014-05-28 21:35 Clivia_zhou 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 前面讨论了几种排序算法,三种O(n2)时间复杂度的排序算法:插入,选择和冒泡和两种O(nlgn)的算法:快速排序和归并排序。这几种排序数组除了归并排序需要额外的数组开销。其他几个的空间复杂度都是O(1)。通过比较交换元素完成排序.计数排序是利用空间换取时间,增加了两个额外数组的开销,而且计数排序有一... 阅读全文
posted @ 2014-05-28 19:32 Clivia_zhou 阅读(152) 评论(0) 推荐(0) 编辑