自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 归并排序

归并排序以O(NlogN)最坏情形时间运行,使用的比较次数几乎是最优的,是递归算法的一个很好的实例。//归并排序算法(驱动程序)template <typename Comparable>void mergeSort(vector<Comparable> & a){ vector<Comparable> tempArray(a.size(...

2020-03-04 15:05:03 86

原创 左值、右值和引用

左值一个左值是一个标识非临时性对象的表达式,一般的法则是,如果程序中有一个变量名,那么它就是一个左值,而不管变量是否可被修改。右值一个右值是一个标识临时性对象的表达式,或者是一个不与任何对象相联系的值(如字面值常数)引用引用类型允许我们为一个已存在的值定义新的名字。在传统C++中引用一般只能是一个左值的名字,在C++11中可以有两种类型的引用:左值引用和右值引用。左值引用C++11中...

2020-03-04 11:14:00 111

原创 希尔排序

希尔排序希尔排序通过比较相距一定间隔的元素来工作,每趟比较所用的距离随着算法的进行缩小,直到只比较相邻的元素作为最后一趟排序。相隔的距离叫做增量序列(h1,h2,…,hk),h1 = 1是必要条件。一趟hk 排序的作用就是对相隔k的元素组成的子数组进行插入排序。最常用的增量序列:hk = N / 2, hk-1 = hk / 2。template <typename Comparab...

2020-03-03 16:00:55 121

原创 插入排序

简单的插入排序template <typename Comparable> void InsertionSort(vector<Comparable>& a){ for(int i = 1; i < a.size(); ++i) { Comparable temp = std::move(a[i]); in...

2020-03-03 11:44:23 143

原创 死锁产生的条件及死锁的预防

产生死锁的条件互斥条件:一个资源只能被一个进程独占,其他的进程申请得到此资源时将被设为等待状态占有和等待条件:一个进程因得不到资源而进入等待状态时不会释放其占用的资源不可剥夺条件:任一进程不能从别的进程那里抢夺已占用的资源,只能等待进程释放资源循环等待条件:存在一个“循环等待链”,其中的每一个进程都因等待前一个进程的资源而进入等待状态,造成永远等待状态死锁的预防预防死锁的方法是破坏...

2020-02-16 12:10:54 538

原创 树、二叉树和森林之间的转换

树、二叉树和森林之间的转换树转化为二叉树连线:将所有的兄弟节点连接去线:删除树中每个节点除第一个孩子以外的孩子节点的连线调整:以根节点为轴心,顺时针旋转一定角度,是层次结构分明森林转化为二叉树把森林中的每棵树转化为二叉树从第二棵二叉树开始,将树的根节点作为前一棵树根节点的右孩子连接一个拥有三棵树的森林将所有树转化为二叉树将所有二叉树转化为一颗二叉树...

2020-02-04 11:43:08 2257

空空如也

空空如也

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

TA关注的人

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