代码改变世界

阅读排行榜

背包问题(01背包,完全背包,多重背包)

2012-05-06 18:27 by 捣乱小子, 48829 阅读, 收藏,
摘要: 写在最前面的近日为以下琐事烦身: 差不多要向学院提交项目申请了,本来是想做个多模式的IM系统的,可是跟往届通过审核的项目比起来,缺乏创新和研究价值,所以在文档上要多做手脚,花点心思。 一大堆的作业,每每期中都是这样。 一直想读的DirectUI开源代码一直没有进展下去。 准备五月底的软件设计比赛。魔... 阅读全文

红黑树并没有我们想象的那么难(上)

2013-09-26 11:01 by 捣乱小子, 39950 阅读, 收藏,
摘要: <红黑树并没有我们想象的那么难> 上、下两篇已经完成, 希望能帮助到大家. 红黑树并没有我们想象的那么难(上) 红黑树并没有我们想象的那么难(下) 红黑树并没有想象的那么难, 初学者觉得晦涩难读可能是因为情况太多. 红黑树的情况可以通过归结, 通过合并来得到更少的情况, 如此可以加深对红黑树的理解. 阅读全文

【图论】广度优先搜索和深度优先搜索

2012-05-18 09:23 by 捣乱小子, 38389 阅读, 收藏,
摘要: 写在最前面的两种图的遍历算法在其他图的算法当中都有应用,并且是基本的图论算法。广度优先搜索广度优先搜索(BFS),可以被形象的描述为“浅尝辄止”,具体一点就是每个顶点只访问它的邻接节点(如果它的邻接节点没有被访问)并且记录这个邻接节点,当访问完它的邻接节点之后就结束这个顶点的访问。广度优先用到了“先进先出”队列,通过这个队列来存储第一次发现的节点,以便下一次的处理;而对于再次发现的节点,我们不予理会——不放入队列,因为再次发现的节点:无非是已经处理完的了;或者是存储在队列中尚未处理的。《算法导轮》对两种搜索都采用了很聪明的做法,用白色WHITE来标志未发现的节点,用灰色GRAY来标志第一次被发 阅读全文

哈夫曼压缩算法

2011-12-26 19:41 by 捣乱小子, 34091 阅读, 收藏,
摘要: 编程独白 给你40分钟的时间,你可以思考十分钟,然后用三十分钟的时间来写代码,最后浪费在无谓的调试上;你也可以思考半个小时,彻底弄清问题的本质与程序的脉络,然后用十分钟的时间来编写代码,体会代码如行云流水而出的感觉。在编程过程当中,相信大家都深有体会,在调试上浪费时间,问题出现在下笔之前没有一个系统 阅读全文

两种高性能 I/O 设计模式 Reactor 和 Proactor

2013-08-22 15:10 by 捣乱小子, 26056 阅读, 收藏,
摘要: Reactor 和 Proactor 是基于事件驱动,在网络编程中经常用到两种设计模式。曾经在一个项目中用到了网络库 libevent,也学习了一段时间,其内部实现所用到的就是 Reactor,所知道的还有 ACE;Proactor 模式的库有 Boost.Asio,ACE,暂时没有用过。但我也翻阅了一些文档,理解了它的实现方法。下面是我在学习这两种设计模式过程的笔记。ReactorReactor,即反应堆。Reactor 的一般工作过程是首先在 Reactor中注册(Reactor)感兴趣事件,并在注册时候指定某个已定义的回调函数(callback);当客户端发送请求时,在 Reactor中 阅读全文
1 2 3 4 5 ··· 20 下一页