- 博客(27)
- 收藏
- 关注
原创 设计模式之工厂方法模式
1,定义定义一个用于创建对象的接口,让子类决定实例化哪一个类。2,用途工厂方法模式是new一个对象的替代品,所以在所有需要生成对象的地方都可以使用。工厂模式屏蔽了产品类,产品类的实现如何变化,调用者都不关心,只需要关心产品的接口,只要接口保持不变,系统中的上层模块就不会发生变化。因为产品类的实例化工作是有工厂类负责的,一个产品对象具体由哪一个产品生成是由工厂类决定的。
2015-01-08 22:22:43
444
原创 设计模式之单例模式
1,定义(单例模式是什么)单例模式要确保某一个类只有一个实例,而且自身会实例化,并且会向所有调用它的模块或系统提供这个实例。2,用途(为什么使用单例模式) 1)单例模式在内存中只有一个实例,减少内存开支,减少系统性能开销,避免资源多重占用2)单例模式可以在系统设置全局访问点,优化和共享资源访问。3,用法(怎样使用单例模式)
2015-01-08 21:59:46
439
原创 【开卷有益】JAVA正则表达式模版
专业既然是机器学习,那工作肯定也是继续和数据打交道,那么问题来了,很多时候推荐算法和数据挖掘算法都是现成可用的,平台初建,重点还在数据过滤和抽取,怎样高效的抽取数据?利用往常算法比赛中常用的字符串处理方法吗,omg,维护它是一个淡淡疼的忧伤。那么,重点来了,正则表达式,干净利落。模版如下://step1,set reg stringString r
2014-12-18 23:24:11
979
原创 周计划 11.11.2013
光棍节周记,也忒搞笑了。本周要写一个爱尔兰这边的战棋游戏。最近卡在了evaluation,其实主要是不会玩这个棋,没经验。另外,要完成一个安卓项目的个性化推荐算法,算法初具规模,但是另一个庞大的数据统计到底要不要加进去,比较纠结。23.26了,睡觉。
2013-11-12 07:26:13
760
原创 prim和kruscal区别
1.二者都是计算最小生成树而生,毋庸置疑。2.prim从点而生,kruscal从边而生,再次毋庸置疑。3.二者稳定性,在比赛中,区别不大,但是,实际中,点一多,prim绝对卡爆。这句话怎么理解呢,怎么会卡爆呢?很简单,其实就是稀疏图和稠密图。稀疏图(Sparse),1000000个点,只有6000个边,用prim开数组,建堆,跪求内存足够。。。稠密图,点少边
2013-11-12 05:00:22
1852
原创 光棍节系列之最小生成树之prim
前段时间有写最小生成树,然后又写了几天的最短路径。近日,光棍节。。。光棍啊。。。所谓最小生成树就是不能成双成对,只有最小,今天POJ1258联通n个farm,i到j和j到i相同,无向图,并且,各个点之间的权重已知。求最小数的权重之和。首先建立一个数组low【i】用于储存找到的最小值,然后再用一个布尔数组做标兵,表示此点和之前已搜过。随机选一点,从1开始即
2013-11-12 04:31:43
826
原创 贝叶斯,待续
贝叶斯涉及到的问题:贝叶斯公式的初衷:逆概问题最大似然和优先概率的结合分析,或者叫奥卡姆剃刀。最小描述长度原则 :在对贝叶斯公式同时取对数后可见。应用:很多,包括错词分析,垃圾邮件过滤,文档分类,很多很多。此文未完,夜降临了,跟朋友约好了要出去,不好爽约,具体文章都在自己的笔记本上写着,改天写完。10、11、2013
2013-11-11 01:23:41
559
转载 背包九讲
下午做多重背包,好久没做了,突然发现条件卡不好了,特温习背包九讲,以前没有写博客的习惯,喜欢用日记本。现在既然开始了,就留下这个足迹。来自 :http://blog.sina.com.cn/s/blog_8cf6e8d90100zldn.htmlP01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解
2013-11-11 01:19:28
751
原创 周记,2013.11.1
最近在做最小生成树的相关算法。java不给力,回头用C写。好吧,基础的printf,cout,scanf,gets各种混乱。半年没写C了就乱了。。。按理说,当初写C没有用IDE,用UltraEdit一步一步,一个字母一个字母的写,要说基础不扎实?指针,数组,运算符,对我来说没有问题啊。。回头想想,实际是基础语句的生疏导致了这些小问题,所谓逆水行舟,不进则退。语言这种东西,一段时
2013-11-02 05:40:37
474
转载 备用开发工作面试
http://blog.csdn.net/itcastcpp/article/details/13728859[-]无坚不摧完整项目深厚内功坚实基础锦上添花无限潜力写在最后不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,
2013-10-31 18:32:18
866
原创 ruby中的正则表达式
今天用脚本做数据分析,记录下ruby中的正则表达式,以备用 一般规则: /a/匹配字符a。 /\?/匹配特殊字符?。特殊字符包括^, $, ? , ., /, \, [, ], {, }, (, ), +, *. .匹配任意字符,例如/a./匹配ab和ac。 /[ab]c/匹配ac和bc,[]之间代表范围。例如:/[a-z]/ , /[
2013-10-30 23:53:25
751
原创 关于ACM中的最小生成树
最常见的最小生成树,无非就两种:primkruscal。两者皆为贪心思想,局部最优(或无限接近最优)以达到全局最优的效果。很多人疑惑,到底什么是最小生成树维基百科的定义链接:http://zh.wikipedia.org/wiki/最小生成树定义很严谨,但是这个定义并不形象。其实最小生成树无非是把无向图转化为树结构的过程,在这个过程中存在一个从出发点遍历
2013-10-30 17:48:26
964
原创 最小公倍数 java
今天起床迟了,30多个小时的连续作战,睡个懒觉也无可厚非。。。然后看到一个题目,一个很另类的记录整个求两个整数的最小公倍数的过程。于是小写了一下,发现过程中问题还不少,果然底层代码一段时间不写就生疏了。先看两个简洁方法求最小公倍数一最常用两数之积 分别同时除以 两数,能同时除得整数的为公倍数,最小者为最小公倍数,当然,从最小数开始循环,第一个公倍数即为最小:
2013-10-30 02:37:04
1214
1
转载 伸展树( splay tree)
MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 伸展树(Splay Tree)是AVL树不错的替代,它有以下几个特点:(1)它是二叉查找树的改进,所以具有二叉查找树的有序性。(2)对伸展树的操作的平摊复杂度是O(log2n)。(3)伸展树的空间要求、编程难度非常低。提到伸展树,就不得不提到AVL树和Read-Black树
2013-10-26 22:37:01
787
原创 一天一天的充实。。。
有幸第一手取到了刚到学校图书馆的数据结构玉算法(JAVA版) really happy~话说,今天是周六来着,不过都柏林没什么好玩的,还是蹲library好好修炼吧。。3点去Trinity见Dr.JamesUCD12/10/2013
2013-10-12 20:14:03
682
转载 推荐算法分类
1、Item based collective filtering总结:物以类聚很多网站的核心算法之一原因:item的增长速度远小于user的增长速度方法:离线计算item的相似度矩阵供线上使用缺点:由于基于item的相似性,故推荐的item相似,缺乏多样性 2、user based collective filtering总结:人以
2013-10-10 22:32:31
871
原创 再次细化的目标
今天研究了一天搜索算法。看到一篇说搞算法的写不了工程代码,笑了笑,关掉了页面,继续做自己的事。没有磨过的刀和磨过的刀砍柴的故事。今天看了看系统架构师的介绍,看了很多神人,崇拜。要熏陶多久啊。感觉自己一步步走向自己想做的事,想要的梦想。爱算法,爱生活。。。无限美好。。。UCD IRELAND16.5308/10/
2013-10-08 23:53:26
648
转载 POJ算法做题顺序
- -又一个长征,路漫漫。。。漫漫。。。漫漫来自:http://blog.sina.com.cn/s/blog_90c5a1ad01013oax.html初期:一.基本算法:(1)枚举. (poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造
2013-10-08 17:42:40
921
转载 堆排序
堆排序,原址:http://hi.baidu.com/taozpwater/item/3995214cd22a94e6a4c0664c堆排序简介1、简介 1991年计算机先驱奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德(Robert W.Floyd)和威廉姆斯(J.Williams)在1964年共同发明了著名的堆排序算法( Heap
2013-10-04 21:22:28
737
转载 字符串翻转
今天温习字符串翻转时发现的一片美文,用美形容,不过。原址:http://blog.csdn.net/dlengong/article/details/7184244在好多字符串处理中,旋转与移位是很常见到的,在大规模的数据处理中设计高效的算法是必须的示例:把字符串abcdefgh循环左移3位,变为defghabc输入字符串str与移位数m,输出结果
2013-10-04 21:18:20
682
转载 KMP ALG NEXT method
void getNext(const char* pattern,int next[]){ next[0]= -1; int k=-1,j=0; while(pattern[j] != '/0') { if(k!= -1 && pattern[k]!= pattern[j]
2013-10-04 21:15:09
689
转载 快速排序
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。该方法的基本思想是:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。voi
2013-10-04 16:46:57
585
转载 应届生面试所需技术基础
技术基础(偏软件)以下的内容描述了技术基础的几个方面,以及在这些方面,如何才能算是“基础扎实”语言基础语言的种类极多,不一一列举了。就语言本身而言,只是个工具而已,并不重要,不过它作为开发手段,承载了很多软件开发的思想。比如垃圾回收 机制、面向对象、异常处理机制等等,这些思想,在很多语言中都有体现,建议同学们对此做些了解。因为我只对C/C++比较熟悉,各大公司在招聘时候也比
2013-09-30 01:05:12
1127
转载 new在堆中的string和栈中的string引用指向内存不同
String str1 = new String("abc");String str2 = "abc";System.out.println(str1==str2); //false创建了两个引用。创建了两个对象。两个引用分别指向不同的两个对象。String str1 = "abc";String str2 = new String("abc");
2013-09-30 00:09:43
1035
翻译 算法导论公开课对应章节(来自MIT)
SES #TOPICSREADINGSL1AdministriviaIntroductionAnalysis of Algorithms, Insertion Sort, MergesortChapters 1-2R1Correctness of AlgorithmsHorner's rule
2013-09-29 06:48:01
1138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人