
数据结构
sunlujing
这个作者很懒,什么都没留下…
展开
-
java 实现bitMap 结构
编程珠玑中第一篇讲的就是使用bitmap来排序大文件里面的数据。下面给出一个简单的BitMap实现。主要使用Byte数组。主要就是shiyong为操作来设置为1 的元素。 public class BitMap { private byte[] bitMap = null; public BitMap(int size){ //初始化时需要计算一共要使用...2012-06-28 21:50:30 · 415 阅读 · 0 评论 -
编程之美 烙饼问题 java实现(检测状态是否出现过)
import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set; /** * 对应编程之美的烙饼翻转 * @author sunlujing * */public class CookieReverse { private in...原创 2013-03-04 21:04:09 · 180 阅读 · 0 评论 -
单源最短路径算法 Dijkstra和Bellman-Ford
常用的单源最短路径算法一共有两个,一个是Dijkstra算法 ,一个是Bellman-ford 算法Dijkstra 算法 不能处理含有负权边的图,Bellmanford 能够处理含负权边或包含负权回路的图。 首先是Dijkstra算法: 算法的具体思想就不多写了,算法导论上有很详细的介绍,我主要还是贴出一个代码实现。Dijstra里面需要用到优先级队列这里笔者也给出了一个。使用...2013-05-29 14:56:38 · 389 阅读 · 0 评论 -
最坏情况O(N) 求数组中第K 大的元素。
求数组中第K的元素的一般方法就是使用快速排序的划分,Partion(seq,start,end) = p, 如果p=k 则ok。如果p >k 则在start, p -1的区间里找第K大的数,Partion(seq,start,p-1)否则partion(seq,p+1,end)算法的平均时间复杂度为O(N),最坏情况为N^2,即每次划分把数组变为为(n-1) 和1的两断....2013-06-01 20:23:03 · 245 阅读 · 0 评论