-
C++基础知识易错点总结(2)
摘要:1. 若一组待排数据有序,花费时间最多的是:快速排序,T(n)=O(n^2); 2. 有 1000 个无序的整数,希望使用最快的方式找出前 50 个最大的,最佳的选择是? 快速排序:在最理想的情况下,即划分可以使得每次分到n/2 的两个序列,复杂度为o(nlogn); 堆排序:无论什么情况都是o(n
阅读全文
-
辗转相除求最大公约数
摘要:序 求最大公约数的最常用的算法是欧几里得算法,也称为辗转相除法。问题定义为求i和j的最大公约数gcd(i,j),其中i和j是整数,不妨设i>j。算法可以递归的表示:1. 如果j能整除i,那么gcd(i,j)=j; 2. j不能整除i,令r=i%j,那么gcd(i,j)=gcd(j,r)。 C实现 i
阅读全文
-
C++基础知识易错点总结(1)
摘要:1. 在C++中,不能被重载的运算符有: sizeof . 成员运算符 .* 成员指针运算符 :: 作用域运算符 ?: 条件运算符 2. C++语言多态性:编译时多态和运行时多态: 编译时多态可通过函数重载和模板实现; 运行时多态可通过虚函数实现; 实现运行时多态机制称为动态绑定; 3. C++中,
阅读全文
|