08 2018 档案

分治算法之两个N位数相乘 Java描述
摘要:两个N位数a和b相乘,手算的话一般是a的末位分别乘以b的末位到首位,然后a的倒数第二位分别乘以b的末位到首位,直到a的首位分别乘以b的末位到首位,最后按位数相加。这个过程的时间复杂度是O(n2)的。 现考虑分治算法,可以将时间复杂度降到亚二次。例如a=61438521,a的左半部分为al=6143, 阅读全文

posted @ 2018-08-10 11:34 yfyfyf947 阅读(1161) 评论(0) 推荐(0)

线性选择 java描述
摘要:使用五位数中值取中分割法的快速选择算法的运行时间为O(n) 定理:如果(a1+a2+···+ak)<1 (k>0),则方程T(N)=T(a1N)+T(a2N)+···+T(akN)+O(N)的解为T(N)=O(N) 分析:如果有10k+5个数组成的数组,在这种情况下,对这个数组进行五位数一组的分割, 阅读全文

posted @ 2018-08-09 19:43 yfyfyf947 阅读(171) 评论(0) 推荐(0)

java代理模式
摘要:什么是代理模式:对其他对象提供一种代理以控制对这个对象的访问 为什么使用代理模式:代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。也就是说,代理就像一个中介,在不改变原对象的基 阅读全文

posted @ 2018-08-01 12:46 yfyfyf947 阅读(155) 评论(0) 推荐(0)