经常有人要我(Bjarne Stroustrup)推荐一种C++的编译器。但是,我通常不会推荐任何编译器,因为我可能因此而在编译器的商战中表明”立场”。而且我并不是对所有的编译器都了解,C++编译器实在是太多了,我平时会用到半打(6个)C++ 编译器,但那只是”沧海一粟”罢了。
我希望人们在选择自己的编译器时,一定要严格参照现行的C++标准。尽量避免使用不支持或者违背ISO标准的编译器。
你如果是一个初学者而且不知道如何测验一个编译器是否符合标准的话,你可以试试下面这个小程序:
Posts Tagged ‘译文’
May 13, 2009
May 1, 2009
算法:
1 2 3 4 5 | for i = 2:n, for (k = i; k > 1 and a[k] < a[k-1]; k--) swap a[k,k-1] → invariant: a[1..i] is sorted end |
算法性质:
- 稳定
- 需要O(1)的额外空间开销
- 需要O(n2)复杂度的比较和交换。
- 具有自适应性:当待排序序列接近有序时,复杂度为O(n)。
- 开销较低
讨论:
虽然在最坏情况下,插入法排序的复杂度为O(n2),但当序列已经接近有序(算法具有自适应性)或者问题规模比较小(空间开销很小)时,插入法排序还是一种比较好的选择。所以,插入法排序,通常可以作为其他诸如归并排序、快速排序等递归递归排序的基础。
Page 1 of 11