10 2014 档案

摘要:堆排序的原理也非常简单,只是实现起来要注意一些细节(比归并排序稍微麻烦那么一点点),本文将详细解释堆排序的内部原理以及实现细节,备忘。 阅读全文
posted @ 2014-10-27 16:34 梦烬 阅读(14001) 评论(3) 推荐(2)
摘要:归并排序非常简单,远没有想象中的那么难,本文将详细解释归并排序内部原理与实现细节,备忘。 阅读全文
posted @ 2014-10-25 19:29 梦烬 阅读(9099) 评论(0) 推荐(0)
摘要:问题背景是找到原串中能够与给定串完全匹配的部分,最容易想到的双重循环比对当然不行(时间复杂度太高),最经典的解法就是KMP算法,先构造跳转表(next表),再比对,避免主串上的回溯,以节省时间。KMP算法比较难理解,本文主要对其核心next函数作以解析。 阅读全文
posted @ 2014-10-17 23:09 梦烬 阅读(2625) 评论(1) 推荐(1)
摘要:耗费一个半月时间细细读完了《Head First设计模式》,本文将对书中介绍到的所有模式作以总结。虽然现阶段的工作大多是围绕“实现”的,但个人认为在陷入“编码”的漩涡之前有必要了解一些“设计”相关的东西,这些思想与理论会慢慢的影响我们的代码和思维。 阅读全文
posted @ 2014-10-15 16:16 梦烬 阅读(4125) 评论(0) 推荐(2)
摘要:复合模式可不只是多个模式的组合,虽然我们可以轻易地拿来几个模式应用到我们的项目中,但这绝不能被称为复合模式。 阅读全文
posted @ 2014-10-14 12:37 梦烬 阅读(3561) 评论(0) 推荐(0)
摘要:前一篇关于代理模式的博文中详细介绍了远程代理,本篇将补充一些其它代理(虚拟代理、保护代理、防火墙代理……) 阅读全文
posted @ 2014-10-06 18:26 梦烬 阅读(1130) 评论(0) 推荐(0)
摘要:代理模式通过插入第三方(代理对象)来分离调用者和被调用者(不同于执行者),而远程代理是最经典的代理之一,被调用者不在本地(处于另一个JVM中),无法直接调用它,此时就需要一个远程代理,调用者把调用请求发送给远程代理,代理对象和被调用者通信,再把调用结果传递给调用者 阅读全文
posted @ 2014-10-05 09:36 梦烬 阅读(5218) 评论(2) 推荐(0)
摘要:状态模式是用来封装某种状态下的一整套行为的,状态模式隐藏了状态切换过程,调用者并不清楚模块内部的状态转换细节,状态模式实现了程序运行时的多态。如果代码中出现了大量相似的if-else结构,你可能需要使用状态模式来消除这些不和谐的条件块。 阅读全文
posted @ 2014-10-02 15:06 梦烬 阅读(1160) 评论(2) 推荐(4)