对于某个比较简单的算法,我们有时候确实能够精确地分析出算法的复杂度. 比如算法复杂度为5n^2+10n+6,但是事实上并不需要这样,因为当n足够大时,可以忽略掉低阶项和最高次项的系数,因此就引出了“渐近复杂度”,并且用“渐近记号”来表示“渐近复杂度”. 渐近记号包括: 符号 含义 O 渐进小于或等于 Ω 渐进大于或等于 Θ 渐进等于 举例: 如果a=x2+x,b=x2+5,则称a与b是相同等级的,且a渐进等于b: 如果a=x2+x,b=x3+5,则称a与b不是相同等级的,且a渐进小于或等于b,b…
转自:http://blog.csdn.net/gzlaiyonghao/article/details/1483728 本文最初发表于恋花蝶的博客http://blog.csdn.net/lanphaday,欢迎转载,但请务必保留原文完整,并保留本声明. [python]用profile协助程序性能优化          上帝说:“选择了脚本,就不要考虑性能.”我是很支持这句话的,使用脚本要的就是开发速度.良好的扩展性以及可维护性.可惜到了最后,我们的程序难免会运行得太慢,我们的客户不能忍受,…
第一次在<算法导论>中看到这三种渐进记法的符号,当时对此一窍不通,所以也就没有注意它们,直接把他们忽略了,知道学习算法的时候,才知道当初的做法有多傻,因为一个算法的好坏以及复杂度,可以用它们来表示.现在我学习过程当中用的最多的是O(g(n)),大概是老师认为我们还不具有算法设计分析与优化的能力吧. 先声明一下:本文不会对算法的时间复杂度和空间复杂度进行讨论,大家可以查看别的博客.^_^ 好了,首先介绍一下这三个符号吧. 符号 含义 O 渐进小于或等于 Ω 渐进大于或等于 Θ 渐进等于 其实大家…
安装Python算法库 主要包括用NumPy和SciPy来处理数据,用Matplotlib来实现数据可视化.为了适应处理大规模数据的需求,python在此基础上开发了Scikit-Learn机器学习算法库(网址:http://scikit-learn.org/stable/ ),同时还提供了深度学习算法库Theano(网址:http://deeplearning.net/software/theano ),并支持GPU运算. 除此之外,python还提供了大量的常用程序库,如数据库APT(Mys…
MurmurHash算法:高运算性能,低碰撞率,由Austin Appleby创建于2008年,现已应用到Hadoop.libstdc++.nginx.libmemcached等开源系统.2011年Appleby被Google雇佣,随后Google推出其变种的CityHash算法. 官方网站:https://sites.google.com/site/murmurhash/ MurmurHash算法,自称超级快的hash算法,是FNV的4-5倍.官方数据如下: OneAtATime – 354.…
一.c,ctypes和python的数据类型的对应关系 ctypes type ctype Python type c_char char 1-character string c_wchar wchar_t 1-character unicode string c_byte char int/long c_ubyte unsigned char int/long c_short short int/long c_ushort unsigned short int/long c_int int…
python算法(一) 一.求数x的因子 x=100 divisors=()#初始化空的元组 for i in range(1,x): if x%i==0: divisors=divisors+(i,) print divisors 二.求数x各个数位之和 sumdigits=0 for c in str(1952): sumdigits +=int(c) print sumdigits print sumdigits 三.鸡兔同笼以及变形 1.有鸡兔两种,共有x个头,y只脚,求解鸡兔各有几只?…
Python算法与数据结构--求所有子数组的和的最大值 玄魂工作室-玄魂 玄魂工作室秘书 玄魂工作室 昨天 题目:输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n). 这个题目有多个解法,比如可以用一个二维数组存之前每个数据的和,然后在进行大小比较:但是这样时间负责度就是O(n2)了. 换个思路思考下,因为是要最大数,那么就不需要存储,只需要找最大值就可以了.但是为了找子序列的最大和,在遇到…
Python算法:推导.递归和规约 注:本节中我给定下面三个重要词汇的中文翻译分别是:Induction(推导).Recursion(递归)和Reduction(规约) 本节主要介绍算法设计的三个核心知识:Induction(推导).Recursion(递归)和Reduction(规约),这是原书的重点和难点部分 正如标题所示,本节主要介绍下面三部分内容: • Reduction means transforming one problem to another. We normally red…
关键字:Python Algorithms Python算法  Mastering Basic Algorithms in the Python Language 使用Python语言掌握基本算法 Python Algorithms 副标题: Mastering Basic Algorithms in the Python Language作者: Magnus Lie Hetland 出版社: Apress出版年: 2010-11-24页数: 336定价: USD 49.99装帧: Paperb…