0%

Rational是用来描述有理数的工具。由于计算机对于浮点数存储机制的底层硬件局限,c++中的double无法准确的存储1/3,因此需要自定义Rational类来存储有理数,进行更加精确的运算。另外,double类型可以表示的数据范围大于int类型,但是在精度上,double在表示大数时不如int类型。

阅读全文 »

new操作符可以在运行时为基本数据类型、数组和对象分配持久的内存空间。另外,新版c++标准中可以用变量名称作为数组大小。

阅读全文 »

algorithm头文件是C++的标准算法库,它主要应用在容器上。 因为所有的算法都是通过迭代器进行操作的,所以算法的运算实际上是和具体的数据结构相分离的 ,也就是说,具有低耦合性。 因此,任何数据结构都能使用这套算法库,只要它具有相应的迭代器类型。

阅读全文 »

克鲁斯卡尔算法,是用来求加权连通图的最小生成树的算法。基本思想 :按照权值从小到大的顺序选择 n-1 条边,并保证这 n-1 条边不构成回路。具体做法 :首先构造一个只含 n 个顶点的森林,然后依权值从小到大从连通网中选择边加入到森林中,并使森林中不产生回路,直至森林变成一棵树为止。

阅读全文 »