自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 快速选择算法

<br />快速选择算法,就是从给定的一个集合S={a1,a2,...an}中选出第K个大小的数,或者给出其所在的下标之类的。<br /> <br />如果使用排序,然后返回第K个元素的下标,复杂度是O(NlogN)<br />如果使用quick sort的一个变种,叫 quick select,则平均复杂度为O(N),最坏复杂度为O(N^2)<br />如果使用一种线性选择算法,则可以达到最坏O(N)的复杂度,不过实际应用中,该算法通常比quick select慢1到2倍,所以并不常用(参考Blum, F

2010-08-14 19:02:00 335

原创 手写三种sort算法

最近要找工作,于是手写了stl风格的三种sort算法,quick sort,merge sort和heap sort,其中quick sort分别实现了递归和非递归两种,代码如下 ,经过了基本的正确性测试(不保证对所有类型都正确,因为没充分测试过),然后性能测试与C++的std::sort和std::stable_sort做了一些对比 代码如下: #include #include #include #include namespace fatrat { using

2010-08-14 02:59:00 1066

原创 编译期检查class是否有继承关系

最近看sigc++的代码,看到其中有编译期检测class是否有继承关系的代码,觉得比较精妙,于是拿出来剖析一下// From Esa Pulkkin: /** * Compile-time determination of base-class relationship in C++ * (adapted to match the syntax of boost's type_traits library). * * Use this to provide a template speci

2010-07-14 12:52:00 442

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除