插入排序:
稳定的排序算法
比较的元素从前两个开始,然后前三个,直至N
比较的方向为从后向前比较, 满足比较条件则:把前一个赋值给后一个, 一轮比较下来,把右边界值赋给左边第1个不满足条件的位置上
比较的次数为1,2,3...N-1, 总共(N^2-N);赋值的次数跟比较次数差不多,可能略大于, 但是单向赋值比交换(双向赋值)肯定要快一点
效率:虽然还是O(N^2), 但对于部分有序的数...
分类:
编程语言 时间:
2014-10-16 21:38:53
阅读次数:
191
一、Chrome浏览器(37.0.2062.124 m)1、在Win7环境下,DNS超时重发的时间间隔为:2s、2s、2s、2s(在这个时刻重复发2个DNS请求)、2s、4s,再经过大约14s左右,按上述时间间隔再重发一轮。当DNS服务器有两个的时候,如下图:二、Firefox浏览器(32.0.3....
分类:
其他好文 时间:
2014-10-16 18:58:12
阅读次数:
299
选择排序:
原理:依次从数组最左边取一个元素,与之后的位置上的元素比较,如果大于/小于(取决于需要升序排还是降序排),则保存较大/较小元素的索引
当一轮比较后,将保存的较大/较小元素的索引与 这轮开始比较的左边元素置换
改进了冒泡排序,交换次数从O(N^2)减少到O(N), 而比较次数还是O(N^2)
/**
* 选择排序
* 比较次数 O(N^2), 交换O(N)
* @aut...
分类:
编程语言 时间:
2014-10-16 12:21:42
阅读次数:
222
冒泡排序:
就是按索引逐次比较相邻的两个元素,如果大于/小于(取决于需要升序排还是降序排),则置换,否则不做改变
这样一轮下来,比较了n-1次,n等于元素的个数;n-2, n-3 ... 一直到最后一轮,比较了1次
所以比较次数为递减:从n-1 到 1
那么总的比较次数为:1+2+3+...+(n-1), 以等差公式计算:(1+n-1)/2*(n-1) ==> n/2*(n-1) ==...
分类:
编程语言 时间:
2014-10-15 19:44:41
阅读次数:
198
冒
泡排序法的基本思想:(以升序为例)含有n个元素的数组原则上要进行n-1次排序。对于每一躺的排序,从第一个数开始,依次比较前一个数与后一个数的大
校如果前一个数比后一个数大,则进行交换。这样一轮过后,最大的数将会出现称为最末位的数组元素。第二轮则去掉最后一个数..
分类:
移动开发 时间:
2014-10-14 03:40:08
阅读次数:
216
选择排序(假设递增排序)
每次选取从当前结点到末尾结点中最小的一个与当前结点交换,每一轮固定一个元素位置。
时间复杂度O(n^2),空间复杂度O(1)。下面的示例代码以带头结点的链表为存储结构:
#include
#include
#define Elemtype double
struct Node
{
Elemtype data;
struct Node *next;
};
void...
分类:
编程语言 时间:
2014-10-10 21:50:04
阅读次数:
225
快速排序是基于分治思想的排序,以递增排序为例:
首先选取一个基准元素pivot,将小于pivot的元素移到其左侧,
大于pivot的元素移到其右侧。这一轮固定了pivot的位置。
然后对其左右两侧执行相同的操作。
快速排序平均时间复杂度O(nlogn),最差时间复杂度O(n^2);空间复杂度O(1)。
示例代码如下:
#include
#define Elemtype int
int ...
分类:
其他好文 时间:
2014-10-10 15:31:34
阅读次数:
177
?n个人 m个篮子 每一轮每个人可以选m个篮子中一个扔球 扔中的概率都是p 求k轮后所有篮子里面球数量的期望值
根据全期望公式 进行一轮球数量的期望值为dp[1]*1+dp[2]*2+...+dp[n]*n 记为w
其中dp[i]为i个人扔中的概率 dp[i] = C(n, i)*p^i*(1-p)^(n-i) 最终答案为w*k
#include
#include
using names...
过程 首先需要记录每个点到原点的距离,这个距离会在每一轮遍历的过程中刷新。每一个节点到原点的最短路径是其上一个节点(前驱节点)到原点的最短路径加上前驱节点到该节点的距离。以这个原则,经过N轮计算就能得到每一个节点的最短距离。第一轮,可以计算出,2、3、4、5、6到原点1的距离分别为:[7, 9, -...
分类:
其他好文 时间:
2014-10-07 14:03:13
阅读次数:
297
http://acm.hdu.edu.cn/showproblem.php?pid=5045题意:n个学生m道题,一个n*m的矩阵代表第n个学生解第m题AC的概率,任意两学生做题数差距不能大于1,问AC所有题目概率的最大值由于限制条件,所以一定是以n个学生为单位,一轮一轮的做题,直到做m题为止,这样...
分类:
其他好文 时间:
2014-10-06 17:28:10
阅读次数:
152