- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 最小生成树之Prim算法
Prim算法的思想是,首先从任意一个节点出发,逐渐生成,直至该树覆盖了所有的V中的节点。如下图:图中的黑色的边即是最小生成树中的边。实现Prim算法的关键便是,如何选择一条 “权值较小并且对于已有生成树中的点集合S来说是安全的边”,此处的安全指的是:加入该边e之后,S仍然是一个树。于是:对于图 G = (V, E) Prim的执行步骤大致为:1 从任意节点r
2014-07-28 10:59:25 1514
原创 interleaving string
题目描述:Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2.For example,Given:s1 = "aabcc",s2 = "dbbca",When s3 = "aadbbcbcac", return true.When s3 = "aad
2014-07-09 22:14:58 957
原创 vector shrink_to_fit
#include using namespace std;int main(){ vectorvec; for(int i = 0 ;i < 100 ; ++i) vec.push_back(i); cout << vec.size() << endl; //100 cout << vec.capacity() << endl; //128
2014-07-09 19:40:13 2350
原创 operator= 复制操作符的意外
首先,看下面的代码的输出时什么:上述代码做了最理所当然的事,就是将Derived的两个对象进行了交换。但是通过指针进行的赋值输出却不是预期的:竟然调用的是Base的operator=,也就意味着我们把d2的Base部分赋值给了d1,而现在的d1就是“一般是自己的derived,一半是d2的Base”的怪物啦!!!看来编译器没有理会我们的意图,
2014-07-08 20:53:29 930
原创 counting objects in class
#include using namespace std;//Version 1 : counting objects of a classclass A{private: static int count;public: A(){++count;} A(const A&){++count;} ~A(){--count;}
2014-07-05 09:29:47 1329
原创 将构造函数以及非成员函数 “虚化”
虚构造函数,这似乎是很违反直观 的一件事情,因为当你拥有一个对象的指针或者引用的时候,你可以通过该对象的动态类型来调用虚函数,而在此处,你的对象还没有构造完成。其实,“虚构造函数”并不是把你的构造函数声明为virtual,而是某一种函数,根据其输入数据,来决定此时构造什么类型的对象。比如你要从文件或者网络上读取一些数据,从该数据你来决定你要创建什么类型的对象。比如:下述的继承体
2014-07-03 21:23:45 1458
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人