2011年8月10日

二维数组和指针

摘要: 二维数组和指针⑴ 用指针表示二维数组元素。要用指针处理二维数组,首先要解决从存储的角度对二维数组的认识问题。我们知道,一个二维数组在计算机中存储时,是按照先行后列的顺序依次存储的,当把每一行看作一个整体,即视为一个大的数组元素时,这个存储的二维数组也就变成了一个一维数组了。而每个大数组元素对应二维数组的一行,我们就称之为行数组元素,显然每个行数组元素都是一个一维数组下面我们讨论指针和二维数组元素的对应关系,清楚了二者之间的关系,就能用指针处理二维数组了。设p是指向数组a的指针变量,若有:p=a[0];则p+j将指向a[0]数组中的元素a[0][j]。由于a[0]、a[1]┅a[M-1]等各个行 阅读全文

posted @ 2011-08-10 20:21 原来... 阅读(423) 评论(0) 推荐(0)

淘宝2011春季实习生笔试题

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2011-08-10 19:48 原来... 阅读(45) 评论(0) 推荐(0)

20/23种设计模式---C++实现

摘要: 笨博文直接拷贝PDF文档所得,部分图片不能显示:常见设计模式的解析和实现常见设计模式的解析和实现(C++)之一-Factory模式作用:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。UML结构图:抽象基类:1)Product:创建出来的对象的抽象基类.2)Factory创建对象的工厂方法的抽象基类.接口函数:1)Creator::FactoryMethod:纯虚函数,由派生类实现,创建出对应的Product.解析:在这个模式中,有两个抽象基类,一个是Product为创建出来的对象的抽象基类,一个是Factory是工厂的抽象基类, 阅读全文

posted @ 2011-08-10 14:17 原来... 阅读(4956) 评论(0) 推荐(0)

23种设计模式--轻松扯淡理解方式

摘要: 工厂模式, 工厂方法模式,单例模式, 外观(Facade)模式, 观察者(Observer)模式,桥接(Bridge)模式都是比较常用的,不同的项目有不同的设计方向,可以参考的设计模式也不尽相同,没有定数,只是上面这几个模式用的比较多一些。 其他的模式我找了一下,都列出来了。 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新 阅读全文

posted @ 2011-08-10 14:07 原来... 阅读(525) 评论(0) 推荐(0)

Bloom Filter概念和原理

摘要: Bloom Filter概念和原理Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter不适合那些“零错误”的应用场合。而在能容忍低错误率的应用场合下,Bloom Filter通过极少的错误换取了存储空间的极大节省。集合表示和元素查询下面我们具体来看Bloom Filter是如何用位数组表示集合的。初始状态时,Bloom Filt 阅读全文

posted @ 2011-08-10 11:38 原来... 阅读(1441) 评论(0) 推荐(0)

百度2011实习生招聘笔试题

摘要: 第一题1.extern "C"{}是什么意思?其作用是什么? extern "C" 实现的类C和C++的混合编程2.写出至少两种设计模式,阐明其使用场景,有伪代码更好。 单例模式 适配器模式 工厂模式 装饰模式3.TCP中time_wait状态是什么意思?其好处和坏处分别是? 服务器在close socket之后便进入time_wait状态第二题1.有N个任务(N < 1000),其中有些任务的执行依赖于其他任务的执行,如A任务执行之后B任务才能执行,但这些任务之间不存在循环依赖。请用一个算法来输出这些任务的执行顺序。 拓扑排序2.查找一个文本内的 阅读全文

posted @ 2011-08-10 10:33 原来... 阅读(447) 评论(0) 推荐(0)

红黑树 VS AVL树

摘要: 1 好处 及 用途红黑树并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能。红黑树能够以O(log2 n) 的时间复杂度进行搜索、插入、删除操作。此外,由于它的设计,任何不平衡都会在三次旋转之内解决。当然,还有一些更好的,但实现起来更复杂的数据结构 能够做到一步旋转之内达到平衡,但红黑树能够给我们一个比较“便宜”的解决方案。红黑树的算法时间复杂度和AVL相同,但统计性能比AVL树更高。当然,红黑树并不适应所有应用树的领域。如果数据基本上是静态的,那么让他们待在他们能够插入,并且不影响平衡的地方会具有更好的性能。如果数据完全是静态的,例如,做一个哈希表,性能可 阅读全文

posted @ 2011-08-10 10:23 原来... 阅读(1654) 评论(0) 推荐(0)

导航