迭代法(Iteration)也称“辗转法”,是一种不断用变量的旧值递推出新值的解决问题的方法。...
分类:
其他好文 时间:
2014-05-12 14:56:47
阅读次数:
297
摘自《Java与模式》作者阎宏面向对象的可复用设计的第一块基石:开闭原则(一个软件实体应当对扩展开放,对修改关闭)“开-闭”原则的手段和工具:1)里氏代换原则:任何基类出现的地方,子类一定可以出现;2)依赖倒转原则:要依赖于抽象,不要依赖于实现;3)合成\聚合复用原则:要尽量使用合成\聚合,而不是继...
分类:
其他好文 时间:
2014-05-12 11:24:27
阅读次数:
306
原文第11章 享元模式(Flyweight Pattern)概述:
面向对象的思想很好地解决了抽象性的问题,一般也不会出现性能上的问题。但是在某些情况下,对象的数量可能会太多,从而导致了运行时的代价。那么我们如何去避免大量细粒度的对象,同时又不影响客户程序使用面向对象的方式进行操作?享元模式j就可以...
分类:
其他好文 时间:
2014-05-12 08:53:38
阅读次数:
276
原文第21章 策略模式(Strategy Pattern)策略模式
导读:策略模式看完之后,大多数人都会感觉有点混了,包括我,感觉策略模式是一种OO思想的体现(纯属个人拙见)。 概述:
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户.....
分类:
其他好文 时间:
2014-05-12 08:39:21
阅读次数:
278
/*N^N = 10^(N*log(N))中,由于 N #includeusing namespace
std;double solve(double n){ double intpart,fractpart,t; //double modf (double,
double*); 将...
分类:
其他好文 时间:
2014-05-11 14:02:20
阅读次数:
350
快速排序是基于分治思想的一种排序算法,就像该方法的名字一样,速度比较快,所以叫做快速排序;它的平均时间复杂度为O(N*logN),最坏时间复杂度为O(n2),由于快速排序在序列元素数量多的时候速度比较快,所以很多语言内置的排序方法也是用快速排序实现的。快速排序也有很多优化的版本,比如在排序时基数的选...
分类:
其他好文 时间:
2014-05-10 23:46:39
阅读次数:
553
KMP算法在介绍KMP算法之前,先介绍一下BF算法。一.BF算法
BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去,直到得出最后的匹配结...
分类:
其他好文 时间:
2014-05-10 23:26:37
阅读次数:
453
GCD的基本思想是就将操作s放在队列s中去执行操作使用Blocks定义队列负责调度任务执行所在的线程以及具体的执行时间队列的特点是先进先出(FIFO)的,新添加至对列的操作都会排在队尾提示GCD的函数都是以dispatch(分派、调度)开头的队列dispatch_queue_t
串行队列,队列中的任...
分类:
其他好文 时间:
2014-05-10 07:18:06
阅读次数:
286
HttpClient封装的很庞大,很复杂,你必须按照,他封装的思想去使用它,导致它很不灵活。相比之下,HttpUrlConnection很轻巧,很方便,很灵活。HttpClient对于数据上面的封装,对请求数据包头加包体,响应数据的封装做的很好,使得发送请求数据和接受响应数据进行处理很方便。但是Ht...
分类:
其他好文 时间:
2014-05-10 07:06:20
阅读次数:
296
译者序1.《CleanCode》一书中Bob大叔认为在代码阅读过程中人们说脏话的频率是衡量代码质量的唯一标准。2.写出的代码能让人快速理解、轻松维护、容易扩展的程序员才是专业的程序员。关键思想:1.代码应当易于理解2.代码的写法应当使别人理解它所需要的时间最小化--可读性基本定..
分类:
其他好文 时间:
2014-05-10 04:06:34
阅读次数:
271