04 2015 档案
摘要:priority_queue(queue类似)完全以底部容器为根据,再加上二叉堆(大根堆或者小根堆)的实现原理,所以其实现非常简单,缺省情况下priority_queue以vector作为底部容器。另外priority_queue缺省比较规则是less:class Compare = lessles...
阅读全文
摘要:散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。建表复杂度O(n)查找复杂度O(1)解决碰撞的方法:1. 链接2. ...
阅读全文
摘要:C++pimer中文版第四版 378页 基于const的重载如果我们要在一个类的成员函数中定义两个函数签名完全一样的成员函数,比如display,那么可以基于是否是const成员函数来重载。比如://非const对象可以使用可以使用任意成员,但是下面这个匹配的更好,所以一般用这个成员函数Screen...
阅读全文
摘要:关于循环队列:循环队列是顺序存储结构的,所以由数组实现。采用循环的方式实现队列是有好处的的,原因是队列如果采用数组实现时,如果不采用循环(或者说回绕)的方式,第一种情况是在出队时需要移动队列中后续元素,效率低;第二种情况是如果入队出队频繁,存储空间浪费太大。高一凡的《数据结构算法实现与解析》对这三种...
阅读全文
摘要:何为简单工厂模式: 通过专门定义一个类,来负责创建其他类的实例,这些其它类通常具有共同的父类。简单工厂模式的UML类图:简单工厂模式中包含的角色和相应的职责如下: 工厂类Creator:简单工厂模式的核心,负责创建所有类的实例。该工厂类必须能够被客户端类调用,创建所需要的产品对象。 抽象产品类...
阅读全文