摘要:随着移动终端的普及,很多应用都基于LBS功能,附近的某某(餐馆、银行、妹纸等等)。 基础数据中,一般保存了目标位置的经纬度;利用用户提供的经纬度,进行对比,从而获得是否在附近。 目标: 查找附近的某某某,由近到远返回结果,且结果中有与目标点的距离。 理论:https://github.com/pho
        
阅读全文
 
        
            
            
摘要:
        
阅读全文
 
        
            
            
摘要:算法分析 【1】时间复杂度为O(d(n+r))【d代表关键字有d位,n代表n个记录,r代表r个空队列】 【2】辅助空间复杂度S(n) = O(n+r)【n代表n个记录,r代表r个空队列】,是一个就地排序 【3】基数排序是稳定的排序方法 来自为知笔记(Wiz)
        
阅读全文
 
        
            
            
摘要:基本思想:将有序的子序列进行归并,从而得到有序的序列。 来自为知笔记(Wiz)
        
阅读全文
 
        
            
            
摘要:基本思想:每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。直接选择排序1.基本思想2.算法分析 堆排序 1.堆的定义2.大根堆和小根堆3.堆排序与直接插入排序的区别 4.基本思想 调整堆符合堆的性质算法 建成初始堆 5.算法分析 【1】时间复杂度为O(nlog2^n) 【2】辅助空间复杂度S(n) = O(1),是一个就地排序 【...
        
阅读全文
 
        
            
            
摘要:基本思想:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。冒泡排序1.基本思想 将被排序的记录数组R[1...n]垂直排序,每个记录R[i]看做是重量为R[i].key的气泡。根据轻气泡不能再重气泡之下的原则,从下往上的原则,从下往上(也可以从上往下)扫描数组R,一旦扫描到违反此原则的轻气泡,就使其向上“漂浮”。如此反复进行,直到最后任何两个气...
        
阅读全文
 
        
            
            
摘要:基本思想:每次将一个待排序的记录,按其关键字大小插入已经排好序的文件中的适当位置,直到全部记录插入完为止(像打牌一样,边抓边整理)直接插入排序1.算法思想 假设待排序的记录存放在数组R[1....n]中。初始时,i=1,R[1]自成一个有序区,无序区为R[2...n]。然后,从i=2起直至i=n,依次将R[i]插入当前的有序区R[1...i-1]中,最后,生成含n个记录的有序区。 2....
        
阅读全文
 
        
            
            
摘要:对于两种变量的交换,我发现四种方法,下面我用Java来演示一下。 1.利用第三个变量交换数值,简单的方法。 class TestEV //创建一个类 { public static void main(String[]args) { int x =5,y=10; //定义两个变量 int temp 
        
阅读全文
 
        
            
            
摘要:LRU是Last Recent Used 缩写,做为一种缓存算法,将最近较少使用的缓存失效。memcache采用了该算法。如下采用了一种PHP的实现方式。该算法将每次新增的内容,放到缓存顶部,达到缓存极限时,将缓存底部的内容清除。可以通过如下PHP代码来模拟。 来源: http://it.taocm
        
阅读全文