2014年3月18日

常见设计模式的解析和实现(C++)

摘要: 导航目录 ※ 设计模式解析和实现之一-Factory模式 ※ 设计模式解析和实现之八-Composite模式 ※ 设计模式解析和实现之十五-Observer模式 ※ 设计模式解析和实现之二-AF模式 ※ 设计模式解析和实现之九-Decorator模式 ※ 设计模式解析和实现之十六-Strategy模式 ※ 设计模式解析和实现之三-Builder模式 ※ 设计模式解析和实现之十-Proxy模式 ※ 设计模式解析和实现之十七-State模式 ※ 设计模式解析和实现之四-Prototype模式 ※ 设计模式解析和实现之十一-TM模式 ※ 设计模式解析和实现之十八-Iterator模式 ※ 设计模式解 阅读全文

posted @ 2014-03-18 10:45 theCambrian.cpp 阅读(459) 评论(0) 推荐(0) 编辑

2014年3月17日

sed的工作原理(pattern space 和 hold space)

摘要: 作者:sealinger时间:February 27, 2011原文链接:http://www.sealinger.com/archives/297/sed是一个非交互式的流编辑器(streameditor)。所谓非交互式,是指使用sed只能在命令行下输入编辑命令来编辑文本,然后在屏幕上查看输出;而所谓流编辑器,是指sed每次只从文件(或输入)读入一行,然后对该行进行指定的处理,并将结果输出到屏幕(除非取消了屏幕输出又没有显式地使用打印命令),接着读入下一行。整个文件像流水一样被逐行处理然后逐行输出。sed一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patte 阅读全文

posted @ 2014-03-17 21:42 theCambrian.cpp 阅读(3768) 评论(1) 推荐(1) 编辑

sed学习笔记

摘要: 作者:Jims of肥肥世家Copyright © 2004,2005, 本文遵从GNU 的自由文档许可证(Free Document License)的条款,欢迎转载、修改、散布。发布时间:2004年09月20日最近更新:2005年12月22日,增加小技巧章节。Table of Contents1. Sed简介2. 定址3. Sed命令4. 选项5. 元字符集6. 实例7. 脚本8. 小技巧1.Sed简介sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后 阅读全文

posted @ 2014-03-17 16:04 theCambrian.cpp 阅读(217) 评论(0) 推荐(0) 编辑

2014年3月14日

C++协助破案问题

摘要: 假设已经查清,有A、B、C、D、E五个嫌疑人可能参与制造了一起抢劫银行案,但是不知道其中哪几个是真正的案犯。不过,有确凿证据表明:1.如果A参与了作案,则B一定也会参与;2.B和C两个人中只有一人参与了作案;3.C和D要么都参与了作案,要么都没有参与;4.D和E两个人中至少有一个人参与作案;5.如果E作案,则A和D一定参与作案。分析:对于这样的逻辑推理题,我们可以用数理逻辑中的表达式表示上述论断:1,A->B2,( B /\ -C) \/ (-B /\ C)3,(C /\ D) \/ (-C /\ -D)4,(D /\ E) \/ (-D /\ E) \/ (D /\ -E)5,E-&g 阅读全文

posted @ 2014-03-14 23:23 theCambrian.cpp 阅读(449) 评论(0) 推荐(0) 编辑

2014年3月13日

C++中extern “C”含义深层探索

摘要: 作者不详,文章转自网络1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。 2.从标准头文件说起 某企业曾经给出如下的一道面试题: 面试题 为什么标准头文件都有类似以下的结构?#ifndef __INCvxWorksh#define __INC... 阅读全文

posted @ 2014-03-13 21:54 theCambrian.cpp 阅读(219) 评论(0) 推荐(0) 编辑

2014年3月7日

阿里巴巴笔试第28题

摘要: 28、已知三个升序整数数组a[l], b[m]和c[n]。请在三个数组中各找一个元素,是的组成的三元组距离最小。三元组的距离定义是:假设a[i]、b[j]和c[k]是一个三元组,那么距离为:Distance = max(|a[ I ] – b[ j ]|, |a[ I ] – c[ k ]|, |b[ j ] – c[ k ]|)请设计一个求最小三元组距离的最优算法,并分析时间复杂度。这道题的求解参见上篇博客第28题,这里讲一下我自己的关于这道题的思考。(PS:这是第一篇原创的文章,写起来还是有点小激动,文中要是有疏漏和错误之处还请大家批评指针)上午的时候看到这道题,觉得暴力求解是可以的,但是 阅读全文

posted @ 2014-03-07 16:32 theCambrian.cpp 阅读(259) 评论(0) 推荐(0) 编辑

阿里巴巴集团2014校园招聘笔试题(研发工程师--北邮站)

摘要: 原文地址:http://blog.sina.com.cn/s/blog_6f83fdb40101eyzw.html阿里巴巴集团2014校园招聘笔试题(9月22北邮站)(答案仅是个人见解,欢迎补充更正,谢谢)第一部分单选题(前10题,每题2分;后10题,每题3分。选对得满分,选错倒扣1分,不选得0分)1、一次内存访问,SSD硬盘访问和SATA硬盘随机访问的时间分别是(C)A、几微秒,几毫秒,几十毫秒B、几十纳秒,几十微秒,几十毫秒C、几十纳秒,几十微秒,几十毫秒D、几微秒,几十微秒,几十毫秒2、8进制数256,转化成7进制数是(B)A、356B、336C、338D、3463、某网络的IP地址空间 阅读全文

posted @ 2014-03-07 11:14 theCambrian.cpp 阅读(727) 评论(0) 推荐(0) 编辑

2014年3月6日

淘宝数据魔方技术架构解析

摘要: (虽然看不懂,但是貌似很牛逼得样纸,所以转过来了,还有令我欣喜的文章中提到了“布隆过滤器”,即上篇文章,哈哈) 原文地址:http://www.tbdata.org/archives/1789#more-1789(本文首发于《程序员》8月刊,略有调整。你可通过pengchun#taobao.com联系到作者。)淘宝网拥有国内最具商业价值的海量数据。截至当前,每天有超过30亿的店铺、商品浏览记录,10亿在线商品数,上千万的成交、收藏和评价数据。如何从这些数据中挖掘出真正的商业价值,进而帮助淘宝、商家进行企业的数据化运营,帮助消费者进行理性的购物决策,是淘宝数据平台与产品部的使命。为此,我们进行. 阅读全文

posted @ 2014-03-06 15:36 theCambrian.cpp 阅读(215) 评论(0) 推荐(0) 编辑

2014年3月5日

Bloom Filter算法简介

摘要: 原文地址:http://www.programlife.net/bloom-filter.html(楼主认为这个算法基本思想还是哈希,哈希真是利器啊!)Bloom Filter的中文翻译叫做布隆过滤器,是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。如文章标题所述,本文只是做简单介绍,属于科普文章。一、应用场景在正式介绍Bloom Filter算法之前,先来看看什么时候需要用到Bloom Filter算法。1. HTTP缓存服务器、W 阅读全文

posted @ 2014-03-05 21:03 theCambrian.cpp 阅读(274) 评论(0) 推荐(0) 编辑

2014年2月18日

linux动态链接库

摘要: 原文地址:http://blog.sina.com.cn/s/blog_54f82cc20101153x.html动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助。1、动态库的编译下面通过一个例子来介绍如何生成一个动态库。这里有一个头文件:so_test.h,三个.c文件:test_a.c、test_b.c、test_c.c,我们将这几个文件编译成一个动态库:libtest.so。//so_test.h:#include"std 阅读全文

posted @ 2014-02-18 21:12 theCambrian.cpp 阅读(480) 评论(0) 推荐(0) 编辑

导航