2013年11月27日

一些笔试算法

摘要: 1.数组中的数分为两组,让给出一个算法,使得两个组的和的差的绝对值最小 数组中的数的取值范围是0=arr[k] && isOK[i-1][v-arr[k]]) 15 * isOK[i][v] = true; 16 */ 17 static boolean isOK[][]; 18 static int sum; 19 static{ 20 isOK = new boolean[20][100]; 21 isOK[0][0] = true; 22 for (boolean[] bs : isO... 阅读全文

posted @ 2013-11-27 21:33 依蓝jslee 阅读(425) 评论(0) 推荐(0)

二分查找的变种

摘要: 1.给定一个数组,其值先从小到大递增后从大到小递减,找出最大的值。eg:{1,2,5,6,4,2,1} -> 6 2.“轮转后的有序数组(Rotated Sorted Array)”,现有一特殊数组A[],它是循环递增的,eg:如A[]={ 17 19 20 25 1 4 7 9},试在这样的数组中找一元素x,看看是否存在。 3.找到轮转后的有序数组中第K小的数 4.整数的求平方根函数 其实这个问题用数学的表达方式就是:对于非负整数x,找出另一个非负整数n,其中n满足 n^2 <= x < (n+1)^2。 5.有两个已排好序的数组A和B,长度分别为n,m,找出两个有序数组中 阅读全文

posted @ 2013-11-27 20:47 依蓝jslee 阅读(217) 评论(0) 推荐(0)

快速排序(思想,转)

摘要: 转自:http://www.cnblogs.com/yanlingyin/一条鱼、尹雁铃@ 博客园 2012-4-16E-mail:yanlingyin@yeah.net在实际的过程中,总需要对一些数据进行排序,在众多的排序算法中,快速排序是较为常用的排序算法之一。而网上对于快速排序的中文资料还不是很全。写这篇博文主要记录一些自己对于快速排序的了解,以及对快速排序的性能的分析。我将在这里记录下我对快速排序的认识和学习过程 ,用尽可能简单明了的叙述来阐述我的理解。快速排序基于算法中很重要的思想是 分治。所以会先介绍一下分治思想,然后对算法原理进行介绍,接着会分析算法的性能并对算法作进一步的讨论。 阅读全文

posted @ 2013-11-27 18:26 依蓝jslee 阅读(421) 评论(0) 推荐(0)

深度优先搜索和广度优先搜索(转)

摘要: 转自:http://blog.csdn.net/andyelvis/article/details/1728378 有两种常用的方法可用来搜索图:即深度优先搜索和广度优先搜索。它们最终都会到达所有连通的顶点。深度优先搜索通过栈来实现,而广度优先搜索通过队列来实现。 深度优先搜索: 下面图中的数字显示了深度优先搜索顶点被访问的顺序。 为了实现深度优先搜索,首先选择一个起始顶点并需要遵守三个规则: (1) 如果可能,访问一个邻接的未访问顶点,标记它,并把它放入栈中。 (2) 当不能执行规则1时,如果栈不空,就从栈中弹出一个顶点。 (3) 如果不能执行规则1和规则2,就完成了整个搜索过... 阅读全文

posted @ 2013-11-27 16:57 依蓝jslee 阅读(188) 评论(0) 推荐(0)

线段树(转)

摘要: 转自:http://www.cnblogs.com/shuaiwhu/archive/2012/04/22/2464583.html 线段树在一些acm题目中经常见到,这种数据结构主要应用在计算几何和地理信息系统中。下图就为一个线段树: (PS:可能你见过线段树的不同表示方式,但是都大同小异,根据自己的需要来建就行。)1.线段树基本性质和操作 线段树是一棵二叉树,记为T(a, b),参数a,b表示区间[a,b],其中b-a称为区间的长度,记为L。 线段树T(a,b)也可递归定义为:若L>1 : [a, (a+b) div 2]为 T的左儿子; [(a+b) d... 阅读全文

posted @ 2013-11-27 11:11 依蓝jslee 阅读(170) 评论(0) 推荐(0)

java IO

摘要: Java流的分类按流向分:输入流: 程序可以从中读取数据的流。输出流: 程序能向其中写入数据的流。按数据传输单位分:字节流: 以字节为单位传输数据的流字符流: 以字符为单位传输数据的流按功能分:节点流: 用于直接操作目标设备的流过滤流: 是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能。java.io常用类 JDK所提供的所有流类位于java.io包中,都分别继承自以下四种抽象流类。InputStream:继承自InputStream的流都是用于向程序中输入数据的,且数据单位都是字节(8位)。OutputStream:继承自OutputStream的流都是. 阅读全文

posted @ 2013-11-27 10:57 依蓝jslee 阅读(287) 评论(0) 推荐(0)

一致性 hash 算法(转)

摘要: 转自:http://blog.csdn.net/sparkliang/article/details/52793931基本场景 比如你有N个cache服务器(后面简称cache),那么如何将一个对象object映射到N个cache上呢,你很可能会采用类似下面的通用方法计算object的hash值,然后均匀的映射到到N个cache; hash(object)%N 一切都运行正常,再考虑如下的两种情况; 1. 一个cache服务器m down掉了(在实际应用中必须要考虑这种情况),这样所有映射到cache m的对象都会失效,怎么办,需要把cache m从cache中移除,这时候cache是... 阅读全文

posted @ 2013-11-27 09:06 依蓝jslee 阅读(238) 评论(0) 推荐(0)

导航