算法
文章平均质量分 56
hnzmdzcm
这个作者很懒,什么都没留下…
展开
-
谷歌背后的数学
谷歌背后的数学- 卢昌海 -在如今这个互联网时代, 有一家家喻户晓的公司, 它自 1998 年问世以来, 在极短的时间内就声誉鹊起, 不仅超越了所有竞争对手, 而且彻底改观了整个互联网的生态。 这家公司就是当今互联网上的第一搜索引擎: 谷歌 (Google)。在这样一家显赫的公司背后, 自然有许许多多商战故事, 也有许许多多成功因素。 但与普通商战故事不同的是, 在谷歌的成功背后起着最转载 2011-11-25 23:00:27 · 1714 阅读 · 0 评论 -
验证码(CAPTCHA)
全自动区分计算机和人类的图灵测试(英语:Completely Automated Public Turing test to tell Computers and Humans Apart,简称CAPTCHA),俗称验证码,是一种区分用户是计算机和人的公共全自动程序。在CAPTCHA测试中,作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。原创 2011-11-26 19:53:33 · 2621 阅读 · 0 评论 -
算法的时间复杂度解释
算法的时间复杂度分析有两种方式。一种方式是计算算法具体的执行时间,最终根据这个时间的长短评价算法的优劣。这种估计方法比较简单易于操作,但是这种方法有一个缺点:估计时间会随着计算机的不同而产生变化(不同计算机的配置、同一个计算机所处环境不同都会影响)。另一种方式是只记录算法的关键操作。例如这个程序:-----------------------------------原创 2012-06-02 16:35:30 · 1404 阅读 · 0 评论 -
算法的空间复杂度解释
根据算法在执行过程中对存储空间的分配方式可以把存储空间分为两种:静态空间与动态空间。静态空间主要包括存放程序代码的空间(code segment),常数、数组及对象的数据成员等所占的内存空间(data segment)。动态存储空间是程序在运行过程中开辟的存储空间,例如链式栈在实现过程中要不断使用new语句创建新结点,然后再把新结点加入栈中。使用new语句开辟的内存空间在程序运行结原创 2012-06-02 16:34:44 · 1419 阅读 · 0 评论 -
算法分析初步
好的算法可以使程序更加出色的解决实际问题,因此关于好的算法的标准是必要的,算法的分析主要是针对算法的效率而言的。好的算法要节省空间及时间资源。空间代价:算法在运行过程中消耗的存储空间。时间代价:算法运行所需要的时间。测试算法效率的方法有很多种,每种测试方法的侧重点也各不相同。算法分析技术中最常用的一种方法称为:算法的事前估计(算法被调用前进行)。事前原创 2012-06-02 16:36:12 · 737 阅读 · 0 评论 -
计算机科学中最重要的32个算法
奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)做了一个调查,投票选出32个最重要的算法:A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出路径。其中使用了一种启发式的估算,为每个节点估算通过该节点的最佳路径,并以之为各个地点排定次序。算法以得到的次序访问这些节点。因此,A*搜索算法是最佳优先搜索的范例。集转载 2013-02-05 11:54:16 · 467 阅读 · 0 评论 -
几种排序算法
简单实现了常见的几种内部排序算法,包括冒泡(Bubble),插入(Insert),快速排序(Quick Sort),堆排序(Heap Sort),归并(Merge),希尔排序(Shell Sort),并对这些算法的耗时在伪随机数上进行了简单的测试。 说明:没有实现计数、基数排序等线性复杂度的算法;各算法只是对算法思想的一次简单模拟,没有过多的优化;各排序主程序接口参数均为整型数组及元转载 2013-02-20 18:17:56 · 380 阅读 · 0 评论 -
常用的几个字符串Hash函数
// RS Hash Functionunsigned int RSHash (char *str){ unsigned int b = 378551; unsigned int a = 63689; unsigned int hash = 0; while (*str) { hash = hash * a + (*str++); a *原创 2013-02-20 18:08:17 · 715 阅读 · 0 评论