一. 什么是二分查找
二分查找又称为折半查找,该算法的思想是将数列按序排列,采用跳跃式方法进行查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。以此类推不断缩小搜索范围。
二. 二分查找的条件
二分查找的先决条件是查找的数列必须是有序的。
三. 二分查找的优缺点
优点:比较次数少,查找速度快,平均性能好;...
分类:
编程语言 时间:
2014-07-22 23:00:14
阅读次数:
512
今天在微博看到一道有趣的题目。作为python的脑残粉,自然手痒。
题目在这里。
FizzBuzzWhizz
你是一名体育老师,在某次课距离下课还有五分钟时,你决定搞一个游戏。此时有100名学生在上课。游戏的规则是:
1. 你首先说出三个不同的特殊数,要求必须是个位数,比如3、5、7。
2. 让所有学生拍成一队,然后按顺序报数。
3. 学生报数时,如果所报数字是第一个特殊数...
分类:
其他好文 时间:
2014-05-01 18:35:36
阅读次数:
241
GDAL库中提供了很多的算法,同时也提供了进度条的相关接口,本篇博文主要讲述如何在C#中调用GDAL库的算法并将进度信息进行传递出来。...
分类:
其他好文 时间:
2014-05-01 18:17:35
阅读次数:
293
strassen算法可以看做是分治递归法求解矩阵乘法的改进。
利用分治递归法求解矩阵乘法的过程大致:
矩阵C = A * B(A、B、C都是n x n矩阵)
可以发现(A11 * B11)、(A12 * B21)……等子矩阵的乘法运算需要继续递归。上面有8个乘法,所以需要递归8次。
时间复杂度关系公式 T(n) = 8T(n/2) + O(n^2),这里8T(n/2)是8次递归...
分类:
其他好文 时间:
2014-05-01 08:43:52
阅读次数:
549
本文主要针对广告检索领域的查询重写应用,根据查询-广告点击二部图,在MapReduce框架上实现SimRank++算法,关于SimRank++算法的背景和原理请参看前一篇文章《基于MapReduce的SimRank++算法研究与实现》。
SimRank++的矩阵形式的计算公式为:
算法主要步骤如下:
Step1: 计算权值矩阵,并获取最大Query编号和最大广告编号;
Step2:...
分类:
其他好文 时间:
2014-05-01 08:21:53
阅读次数:
527
原文 http://codecapsule.com/2014/02/12/coding-for-ssds-part-3-pages-blocks-and-the-flash-translation-layer/
在这个部分,我会解释写操作在页和块级是如何处理的,以及写入放大和损耗均衡计算的基本概念。此外,我描述了闪存转换层(FTL)的概念,以及应用了闪存转换层的两个技术:逻辑块地...
分类:
其他好文 时间:
2014-04-30 22:46:40
阅读次数:
273
关于最大熵模型的介绍请看:http://www.cnblogs.com/hexinuaa/p/3353479.html
下面是GIS训练算法的python实现,代码不到100行。
from collections import defaultdict
import math
class MaxEnt(object):
def __ini...
分类:
其他好文 时间:
2014-04-30 22:46:39
阅读次数:
384
X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! 其中,a为整数,并且0
{1,2,3,4,...,n}表示1,2,3,...,n的排列如 {1,2,3} 按从小到大排列一共6个。123 132 213 231 312 321 。
代表的数字 1 2 3 4 5 6 也就是把10进制数与一个排列对应起来。
他们间的对应...
分类:
其他好文 时间:
2014-04-30 22:28:40
阅读次数:
241
根据SGI官方文档,仿函数也叫函数对象(Function Object, or Functor),定义就是任何可以像函数一样被调用的对象。一个普通的函数是函数对象,一个函数指针当然也是,广义上说任何定义了operator()的类对象都可以看作是函数对象。
仿函数(Functor、Function Object)
传递给STL算法的函数型参数(functional arguement)不一定要是...
分类:
编程语言 时间:
2014-04-30 22:28:38
阅读次数:
243
本文出自:http://blog.csdn.net/svitter
题意:最基础的Bell-man题目,寻找负环.告诉你有几个村庄,在村庄中有通路,通路走过去花费时间,通路是双向的,走虫洞可以使时间倒退,即负边.但是负边是单向的.
总结写在最前面:
Bell_Man算法最关键就在于判断有无负环;
Bell_man算法刚刚自学,还不是很明白.一开始觉得使用邻接矩阵即可,想松弛n-1次...
分类:
其他好文 时间:
2014-04-30 22:13:39
阅读次数:
274