自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 堆排序

堆:   每个结点的值都大于或等于其左右孩子结点的值,这样的完全二叉树称为大顶堆;同理,每个结点的值都小于或等于其左右孩子结点的值,这样的完全二叉树称为小顶堆。 思路:   1.将初始序列按照实际需求构造成大顶堆或小顶堆(一般升序大顶堆,降序小顶堆);   2.将顶堆元素与末尾的元素交换,使最大的数排在数组的末端;   3.调整堆中元素的位置,使其符合相应堆的定义,然后继续执行...

2018-12-03 21:03:00 52

转载 快速排序

思路:   选定一个基准数,每次一轮排序完成后要满足基准数左边的都是比它小的数,右边的都是比它大的数。然后再分别对左表和右表进行同样的操作,直到所有排序完成。其实不难发现,每一轮排序都使得一个数(基准数)放在了它“正确的”位置上。 时间复杂度:   O(nlogn)至O(n2),平均时间复杂度为O(nlogn) 代码:(这里给出了每一轮排序后的情况,直到最后的排序完成) ...

2018-12-03 21:01:00 87

转载 冒泡排序

思路:   从第一个数开始,依次与下一个数比较,若下一个数比它小,则发生交换。这样每一次遍历都将其中最大的数冒泡到顶端,直到所有数冒泡完成则排序完成。 时间复杂度:   最好情况一次排序就完成,O(n)复杂度;最坏情况逆序,O(n2)复杂度。平均时间复杂度为O(n2)。 代码: 1 #include<iostream> 2 using namespace ...

2018-12-03 20:59:00 65

转载 矩阵快速幂

快速幂   先来讨论整数的快速幂算法,相比于一般的计算a^b时间复杂度O(n),快速幂的复杂度是O(logn),效率要更高。比如要计算x^19,19的二进制表示是10011,分别找到二进制1出现的位置对应的数值,1,2,16。而19也正好可以写成1+2+16,所以x ^ 19 == (x ^ 1) *(x ^ 2) *(x ^ 16)。要找1出现的位置,可以依次移位判断。代码如下,可以...

2018-12-03 20:26:00 82

空空如也

空空如也

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

TA关注的人

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