09 2012 档案

典型递归算法例子-------Python实现
摘要:#!/usr/bin/python #coding=utf-8 ''' Created on 2012-9-25 @author: linzuxin ''' status = {} def factorial(n): ''' 输入一个数字,求其阶乘。status是一个hash,用来存储中间结果,避免重复计算 @param n: 要求的数字 @return: n的阶乘 ''' if n == 0 or n == 1: status[0] = 1 status[1] = 1 re... 阅读全文

posted @ 2012-09-26 16:56 linzuxin 阅读(276) 评论(0) 推荐(0)

0/1背包问题--Dynamic Programming
摘要:DP问题的特征:重复子问题存在最优子集背包问题属于经典的DP问题,而0/1背包问题是属于最简单的情况。0/1的意思是每种物品只有一件,要么放入背包中,要么不放问题定义:有N个物品,要放入容量为W的背包中,第i件物品重量为w(i),价值为v(i),问要怎样放才能在不超过背包容量的基础上,获得最大的价值。算法描述:需要用到递归的思想,定义A(i, j)为前i个物品中在容量为j的情况下所能达到的最大价值,则A(0,j) = 0,A(i,0) = 0(i <= N and j <= W).如果w(i) > j时,说明第i件物品不能放入背包中,价值不变,所以A(i, j) = A(i 阅读全文

posted @ 2012-09-25 22:28 linzuxin 阅读(204) 评论(0) 推荐(0)

C++运算符优先级
摘要:优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符++变量名/变量名++单目运算符--自减运算符--变量名/变量名--单目运算符*取值运算符*指针变量单目运算符&取地址运算符&变量名单目运算符!逻辑非运算符!表达式单目运算符~按位取反运算符~表达式单目运算符sizeof长度运算符sizeof(表达式)3/除表达式/表达式左到右双目运算符*乘表 阅读全文

posted @ 2012-09-21 21:25 linzuxin 阅读(164) 评论(0) 推荐(0)

模板函数和模板类
摘要:定义3个参数,第3个参数用于表示返回值类型template <typename T1,typename T2,typename T3> inline T3 const& max (T1 const& a, T2 const& b) { // if a < b then use b else use a return a < b ? b : a; } template <class Type>class TNumber{public:~TNumber(){}void SetItem(Type);Type GetItem();privat 阅读全文

posted @ 2012-09-21 21:01 linzuxin 阅读(119) 评论(0) 推荐(0)

浅析类的const成员函数,类的const对象
摘要:1.const数据成员:跟const常量一样,只是一个在类里,一个在类外而已,都必须初始化。2.const成员函数:即普通成员函数后再加const。它可以读取数据成员的值,但不能修改它们。若要修改时,数据成员前必须加mutable。以指定其可被任意更改。mutable是ANSI C++考虑到实际编程时,可能一定要修改const对象中的某个数据成员而设的。3.普通对象:可以调用任意成员函数。4.const对象:仅能调用const成员函数。 阅读全文

posted @ 2012-09-21 20:45 linzuxin 阅读(163) 评论(0) 推荐(0)

Java中new和newInstance的区别
摘要:1、类的加载方式不同 在执行Class.forName("a.class.Name")时,JVM会在classapth中去找对应的类并加载,这时JVM会执行该类的静态代码段。在使用newInstance()方法的时候,必须保证这个类已经加载并且已经连接了,而这可以通过Class的静态方法forName()来完成的。 使用关键字new创建一个类的时候,这个类可以没有被加载,一般也不需要该类在classpath中设定,但可能需要通过classlaoder来加载。2、所调用的构造方法不尽相同 new关键字能调用任何构造方法。 newInstance()只能调用无参构造方法。3、执 阅读全文

posted @ 2012-09-10 23:47 linzuxin 阅读(371) 评论(0) 推荐(0)

深入研究Java类加载机制
摘要:类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。研究类加载机制的第二个目的是让程序能动态的控制类加载,比如热部署等,提高程序的灵活性和适应性。一、简单过程Java程序运行的场所是内存,当在命令行下执行:java HelloWorld命令的时候,JVM会将HelloWorld.class加载到内存中,并形成一个Class的对象HelloWorld.class。其中的过程就是类加载过程:1、寻找jre目录,寻找jvm.dll,并初始化JVM;2、产生一个Bootstrap Loader(启动类加载器);3、Bootstrap Loa 阅读全文

posted @ 2012-09-10 23:41 linzuxin 阅读(174) 评论(0) 推荐(0)

海量数据处理常见方法
摘要:所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导致无法一次性装入内存。 那解决办法呢?针对时间,我们可以采用巧妙的算法搭配合适的数据结构,如Bloom filter/Hash/bit-map/堆/数据库或倒排索引/trie树,针对空间,无非就一个办法:大而化小:分而治之/hash映射,你不是说规模太大嘛,那简单啊,就把规模大化为规模小的,各个击破不就完了嘛。 至于所谓的单机及集群问题,通俗点来讲,单机就是处理装载数据的机器有限(只要考虑cpu,内存,硬盘的数据交互),而集群,机器有多辆,适合分布式处 阅读全文

posted @ 2012-09-05 23:17 linzuxin 阅读(205) 评论(0) 推荐(0)

python内置函数:lambda、map、filter
摘要:lambdalambda可以理解为一种小函数,但是它是一个表达式,而不是一个语句,所以在def不允许出现的地方仍然可以使用lambda函数,例如list里。但是lambda内只可以执行一个表达式。deff(x):returnx**2printf(3)a=lambdax:x**2printa(3)a=lambdax,y:x+yprinta(1,2)~一个lambda语句就相当于一个函数定义,调用的时候也和函数一样。map函数有时候我们可以需要处理一个列表里的所有元素,可以使用一个for循环来完成这个工作。但是Python内置的map函数可以帮我们的忙,它接受函数和列表作为参数,然后返回函数处理之 阅读全文

posted @ 2012-09-01 20:41 linzuxin 阅读(466) 评论(0) 推荐(0)

SVN用户权限配置
摘要:repository目录下的conf有三个文件:svnserve.conf、passwd、authz,依次修改你可以直接删除默认的svnserve.conf文件,然后使用下面的配置:# vi svnserve.conf[general]anon-access = noneauth-access = writepassword-db = passwdauthz-db = authzrealm = Test说明:anon-access = none #不允许匿名用户访问auth-access = write #通过验证的用户可以读和写password-db = passwd #用户保存文件auth 阅读全文

posted @ 2012-09-01 17:48 linzuxin 阅读(456) 评论(0) 推荐(0)

导航