参考算法导论9.2
R_Select(int *a,int p,int r,int i){
if(p==r)
return a[p];
int q=partition(a,p,r);
int k=q-p;
if(i==k)
return a[q];
else if(i<k)
return R_Select(a...
分类:
其他好文 时间:
2014-07-23 13:04:06
阅读次数:
205
上节分析了O(n^2)的算法,这节就分析O(nlgn)的算法-归并,快速和堆排序。一:综述 O(nlgn) 的算法可以分为两大类,两者所用的技术差别较大。归并和快速排序采用的是分治策略,这两者相当于一个对称的过程,一个是自顶向上合并子问题,另一个则自上向下分解子问题。而堆排序利用堆这一数据结构元素间...
分类:
其他好文 时间:
2014-07-22 22:36:14
阅读次数:
282
public class Priority_Queue {
//储存的数组
private int A[];
//堆的大小
private int pile_Size=0;
//如果找到指定值,返回 -1
private int NOT_FIND = -1;
//堆容器的大小增量
private int INCREAT_CAPCITY=20;
//堆容器大小
privat...
分类:
其他好文 时间:
2014-07-22 18:06:02
阅读次数:
306
关于FFT,咱们都会迫不及待地 @ .....(大雾)(貌似被玩坏了...) .....0.0学习FFT前先orz FFT君。 首先先是更详细的链接(手写版题解点赞0v0)FFT的资料 其实众所周知的最详细的算法解释在《算法导论》上...然后咱就是边看着那个边码理解的... 首先来看看多项式乘法.....
分类:
其他好文 时间:
2014-07-22 00:32:37
阅读次数:
431
http://blog.csdn.net/insistgogo/article/details/8579597背包问题九讲笔记_01背包分类:算法导论2013-02-13 09:171752人阅读评论(4)收藏举报摘自Tianyi Cui童鞋的《背包问题九讲》,稍作修改,方便理解。01背包问题描述已...
分类:
其他好文 时间:
2014-07-21 00:28:01
阅读次数:
292
算法导论在介绍算法时列举了插入排序与并归排序,以此来说明什么事算法,算法效率以及提出了算法设计中重要的思想--分治,也就是将问题划分为规模较小的子问题。这种思想在大规模运算时具有显著的时间开销优势,例如插入排序和并归排序,其时间开销大致分别等于C1N2和C2Nlog2N。下面介绍具体的代码:首先是插...
分类:
其他好文 时间:
2014-07-19 11:23:35
阅读次数:
220
《大规模分布式存储系统:原理解析与架构实战》读书笔记 :在了解了Bitcask存储模型后,又开始研究LSM树存储引擎。LSM在实现的过程中使用了一个很有意思的数据结构:跳跃表。之前在《算法导论公开课》中听过这一节。当时感觉这种结构和二叉树简直是殊途同归,但是一直没有亲自动手实现过。这次又遇到了,就来实现试试看。话说跳跃表和各种平衡树一样,都是用来加速查询的。要随手实现一个B树不容易,但是实现一个跳跃表就简单很多。...
分类:
其他好文 时间:
2014-07-18 23:08:17
阅读次数:
411
排序算法作为许多程序的中间步骤,是计算机科学中的一个基本操作。一、问题描述 排序算法输入的是n个数的一个序列,输出为输入的一个排列,满足a1’ a[min]) min = j; //交换 if(min != i) { ...
分类:
其他好文 时间:
2014-07-16 15:45:48
阅读次数:
222