摘要: http://www.cnblogs.com/bluepoint2009/archive/2012/09/05/latex-equation.html 阅读全文
posted @ 2013-08-26 21:46 五岳 阅读(176) 评论(0) 推荐(0)
摘要: 《算法设计手册》(The Algorithm Design Manual)课后面试题和解答。主要内容包括:生活中的查找情形、二叉树判断全等、二叉搜索树转化为双链表、URL的存储结构、hash表应用情形等。 阅读全文
posted @ 2013-08-23 17:25 五岳 阅读(2180) 评论(0) 推荐(0)
摘要: 《算法设计手册》(The Algorithm Design Manual)课后面试题和解答。包括:未知大小的集合选取k个元素、数据备份方案、寻找数组最小数时赋值语句执行次数的期望、100层大楼抛大理石(抛灯泡)、电子秤找不足量金币、天平找重球、公司合并方案总数、海盗分赃等。 阅读全文
posted @ 2013-08-22 11:38 五岳 阅读(2217) 评论(3) 推荐(0)
摘要: 一个简单的Nginx下HTTP过滤模块的实现,功能为给纯文本响应增加一个文本前缀。 阅读全文
posted @ 2013-08-21 10:30 五岳 阅读(5643) 评论(4) 推荐(1)
摘要: 以《深入理解Nginx》上的实例说明如何借助upstream模块和subrequest这两种全异步方式与第三方服务器进行通信。在原书的源码基础上,对整个流程进行梳理和总结,并根据RFC2616分析了Nginx处理HTTP响应时对响应的划分。 阅读全文
posted @ 2013-08-20 21:07 五岳 阅读(7768) 评论(0) 推荐(3)
摘要: 《算法设计手册》(The Algorithm Design Manual)课后面试题(Interview Problems)和解答。包括:不用*和/做整数除法、25匹马找出前5名问题、以及一些不做解答的估算题的样例。 阅读全文
posted @ 2013-08-17 22:00 五岳 阅读(7378) 评论(8) 推荐(3)
摘要: 以HelloWorld为基础,修改为读取nginx.conf配置项并输出的程序,理清在读取配置项时,存储结构ngx_http_mytest_conf_t、初值生成方法create_loc_conf()、解析方法数组ngx_command_s[]和合并方法merge_loc_conf()的原理和联系。 阅读全文
posted @ 2013-08-14 21:50 五岳 阅读(4088) 评论(2) 推荐(3)
摘要: 最近在读陶辉的《深入理解Nginx》,一是可以跟着大牛练练阅读和编写开源代码的能力,二是想学学Nginx优秀的架构设计,三是想找一个点深入下Linux环境下网络编程的细节。读书的时候自然少不了实际地动手,这个系列的博文是对学习过程的梳理和动手过程的补充。原书对实践中一些已提及的细节问题不再赘述。 阅读全文
posted @ 2013-08-13 20:22 五岳 阅读(8914) 评论(4) 推荐(3)
摘要: 又要到一年招聘季,又有很多人开始啃《编程之美》了吧。此书从开阔视野的角度来说很好,不过限于篇幅,有的问题并没有讲清楚;或者扩展问题很难,没有给予解答和提示。在我看书和查阅资料的过程中,有很多重复的,也有不少基本没什么价值。为了便于查阅,也为了方便后人不必在搜索上浪费时间,我把比较有价值的文章链接整理如下,并附以说明。 阅读全文
posted @ 2013-08-11 09:52 五岳 阅读(7359) 评论(3) 推荐(6)
摘要: 使用SftpDrive和SourceInsight在Windows图形环境下,对存放在Linux虚拟机及其他支持SSH的主机的磁盘上的代码进行阅读和修改的配置方法 阅读全文
posted @ 2013-08-09 18:14 五岳 阅读(8067) 评论(2) 推荐(3)
摘要: 对于以往写就的一些博文,可能在之后发现当时的观点不尽正确,或是处理方法不够全面,又或是有更多值得引申的内容可以补充。首先对之前可能造成的误导表示歉意;另一方面,虽然已经对相应博文进行了更新,并标明了更新时间,但可能已读过的读者并不能很容易地看出来。修改创建时间同样不够明显,而在标题中提示又可能会导致 阅读全文
posted @ 2013-07-29 22:15 五岳 阅读(870) 评论(0) 推荐(0)
摘要: 问题来自于《程序员面试宝典(第三版)》第12.2节面试例题9,主要是结合原书代码和解析,讨论malloc(0)的行为,对原书没说清的地方进行补充。 阅读全文
posted @ 2013-07-27 16:07 五岳 阅读(23521) 评论(15) 推荐(4)
摘要: 对于《编程之美》4.5磁带文件存放优化一般情况的最优解给与证明,并发掘解法与选择排序的关系。 阅读全文
posted @ 2013-07-25 15:28 五岳 阅读(2266) 评论(2) 推荐(2)
摘要: 本文来自于《编程之美》4.3节买票找零问题的启发,和网络上多如牛毛的介绍卡特兰数的文章不同,本文的主要目的不是向读者再一次介绍它的性质和应用,也不是相关内容的简单复制粘贴拼凑,而是一个完整的体系,帮助读者跨越《编程之美》留下的陷阱,找寻一般化的卡特兰数,从而解决更一般的问题,并给出证明和程序实现。 阅读全文
posted @ 2013-07-16 09:57 五岳 阅读(25923) 评论(10) 推荐(25)
摘要: 简单介绍判别两个链表在无环/有环情况下是否相交的判别法,并收集了找出相交的第一个节点、求链表倒数第k个结点等相关问题,然后对单链表找环算法和找单链表环入口算法给出形式化的证明 阅读全文
posted @ 2013-07-14 09:21 五岳 阅读(8524) 评论(7) 推荐(4)
摘要: 对于《编程之美》上没有提供答案和提示的1.18和4.11两节,本文将综合网络上已有的部分资料,深入挖掘解题思路,并对目前尚未找到满意答案的1.18节问题1给出算法解答。阅读本文需要了解古典概型和组合数的含义,以及扫雷游戏中的各种符号。 阅读全文
posted @ 2013-07-11 17:36 五岳 阅读(2287) 评论(2) 推荐(1)
摘要: 本文主要介绍和字符串、序列相关的三大类问题的算法和它们衍生的问题:字符串左移(或称左旋、翻转)、最长重复子序列、最大连续子序列;除此以外,另外附了一段字符串哈希方法作为对字符串操作的补充。虽然标题和文章都很长,但介绍的问题并不多,只是做了较多的延伸和探讨。 阅读全文
posted @ 2013-07-08 20:46 五岳 阅读(7160) 评论(4) 推荐(3)
摘要: 本文提出的解法比原书清晰的多,全文转载一下。原作者:Milo Yip原文链接:http://www.cnblogs.com/miloyip/archive/2010/02/25/binary_tree_distance.html昨天花了一个晚上为《编程之美》,在豆瓣写了一篇书评《迟来的书评和感想──给喜爱编程的朋友》。书评就不转载到这里了,取而代之,在这里介绍书里其中一条问题的另一个解法。这个解法比较简短易读及降低了空间复杂度,或者可以说觉得比较「美」吧。问题定义如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序 阅读全文
posted @ 2013-07-05 22:21 五岳 阅读(594) 评论(0) 推荐(0)
摘要: 本文不局限于具体的二分搜索算法和排序算法,而是提炼其中的思想,并将其应用到其他与它们似乎没有直接关系的问题中,从而获得高效的解决算法。主要解决的问题:线性期望时间的随机元素选择问题、大数据中找出一组重复元素、英文字典求所有变位词、子集元素的最小和。 阅读全文
posted @ 2013-07-05 09:47 五岳 阅读(4813) 评论(1) 推荐(3)
摘要: 这个主题和代码的实际写作有关,而且内容和用法相互交织,以下只是对于其内容的一个划分。《编程珠玑》上只用了两个章节20页左右的篇幅介绍,如果希望能获得更多的实例和技巧,我比较推崇《程序设计实践》 (Practise of Programming)、《编程精粹:编写高质量C语言代码》(Writing Solid Code)这两本书,只要有一般的C语言基础就能读懂,而且读起来比较快,读完后能提高不少coding的实践水平。 目录循环不变式(invariant)debug之脚手架断言(assert)循环不变式(invariant) 循环不变式主要用来帮助理解算法的正确性,具体来看,比较针对... 阅读全文
posted @ 2013-07-02 08:51 五岳 阅读(4084) 评论(0) 推荐(1)
摘要: 本节主要受到《编程珠玑》第12章随机取样问题的启发,但不仅仅限于随机取样问题,进一步地,研究讨论了一些在笔试面试中常见的和随机函数以及概率相关的问题。 阅读本文所需的知识: 1.对C语言中或其他语言中等价的rand()、srand()有所了解。本文不讨论种子的设定和伪随机数的问题; 2.中学或以上水平的概率基本概念。 目录利用随机数函数生成随机数利用随机数函数产生随机事件取样问题:从n个元素中选取m个从概率角度出发从集合插入出发从“打乱顺序”出发从一般到特殊取样问题:从未知总数的元素中选择一个概率问题选编“珠玑之椟”系列简介与索引利用随机数函数生成随机数问题1(《编程珠玑》... 阅读全文
posted @ 2013-06-29 10:46 五岳 阅读(6648) 评论(6) 推荐(4)
摘要: 设A[1..n]是一个包含N个非负整数的数组。如果在iA[j],则(i,j)就称为A中的一个逆序对(inversion)。a)列出数组[2,3,8,6,1]的5个逆序。b)如果数组的元素取自集合{1,2,...,n},那么,怎样的数组含有最多的逆序对?它包含多少个逆序对?c)插入排序的运行时间与输入数组中逆序对的数量之间有怎样的关系?说明你的理由。d)给出一个算法,它能用O(nlogn)的最坏情况运行时间,确定n个元素的任何排列中逆序对的数目(提示:修改归并排序) ——《算法导论》,思考题2-4 逆序对的应用很多,比如各类OJ中的逆序对题目:http://w... 阅读全文
posted @ 2013-06-27 08:41 五岳 阅读(5855) 评论(0) 推荐(4)
摘要: 估算的数据主要依赖于所能获得的数据和常识,有时还包括实践而不仅仅是理论。它常常作为一个大问题中的子问题,恰当地估算可以省去精确计算的时间和开销。在计算机领域,所谓常识的内容很宽泛,比如硬盘的传输速度、CPU每秒能执行多少指令、各种数据结构的大小甚至每分钟录入的单词数。有些数据是能够从各种资料中查得的,但仅仅靠记忆总难免遗漏;如果有经过学习而建立起的系统的知识结构,那便能很方便地把这些常识组织起来,除此以外,还可以靠平时经验的积累和一些面试题上的启发了。这里将进行一个收集,随时更新。 Little定律深入了估算所依赖的法则的细节:总花费等于各个部分的花费再乘以总的部分数,它在计算机系统方面... 阅读全文
posted @ 2013-06-26 08:32 五岳 阅读(1906) 评论(5) 推荐(0)
摘要: 位向量/位图是一个很有用的数据结构,在充分利用小空间存储大量数据方面非常具有优势,Linux内核中很多地方都是用了位图。同时,它不但基础,而且用到了很多编程语言的知识,以及对细节的把握,常常作为面试题出现。这里将要介绍它的实现、操作、应用。 与位图(bitmap)比,我更倾向于用位向量(bit ve 阅读全文
posted @ 2013-06-24 16:42 五岳 阅读(9782) 评论(5) 推荐(5)
摘要: 系列博文主要目的: 收集《编程珠玑》和《编程珠玑(续)》(以下简称《续》)上的算法和思想,并包括了一些自己的思考和对相关问题的引申,以备复习和查用。 内容提要: 主要是算法收集,结合了《程序设计实践》 (Practise of Programming)、《编程精粹:编写高质量C语言代码》(Writi 阅读全文
posted @ 2013-06-24 16:41 五岳 阅读(2068) 评论(0) 推荐(2)
回到顶部