最坏情况下的成本 平均情况下的成本 是否高效低支持有序性的相关操作 关键接口 查找 插入 查找 插入顺序查找(无序链表) N N ...
分类:
其他好文 时间:
2015-03-09 23:46:45
阅读次数:
279
快速排序基本特性时间复杂度:O(n*lgn)最坏:O(n^2)空间复杂度:最好情况下:O(lgn),最坏情况:O(n),平均情况:O(lgn)不稳定。关于快速排序的空间复杂度,谢谢@命运他爹 同学指正。详述一下。快速排序由于每次递归的时候会占用一个空间返回中间数位置,所以一次递归的空间复杂度为O(1...
分类:
编程语言 时间:
2015-02-16 15:31:11
阅读次数:
201
各种排序运行时间比较以下表格展现各算法的运行时间:算法最坏情况运行时间平均情况/期望运行时间插入排序θ(n2)θ(n2)归并排序θ(nlgn)θ(nlgn)堆排序O(nlgn)—快速排序θ(n2)θ(nlgn)建立一个类,将之前写的各种排序算法纳入其中,Code如下: class SortMe...
分类:
编程语言 时间:
2015-01-28 21:04:02
阅读次数:
337
一,为了生活 从业7年,主要还是运用.net过日子。今儿下决心再次准备学习java并想达到一定高度,也还是想以后能主要用java赚钱过日子。抱歉眼界所到,平均情况下,java平台的收入还是比.net的可观。目前所在行业java需求量也比.net好,不仅是岗位数量,还有薪资水平。三年前用java...
分类:
编程语言 时间:
2014-11-29 18:55:45
阅读次数:
208
摘要: 本章先回顾了前面介绍的合并排序、堆排序和快速排序的特点及运行运行时间。合并排序和堆排序在最坏情况下达到O(nlgn),而快速排序最坏情况下达到O(n^2),平均情况下达到O(nlgn),因此合并排序和堆排序是渐进最优的。这些排序在执行过程中各元素的次序基于输入元素间的比较,称这种算法为比较....
分类:
编程语言 时间:
2014-11-03 14:15:19
阅读次数:
301
在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是他们在平均以及最差情况下的时间复杂度:可以看到在时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了lgN的时间复杂度。那么有没有查找效率更高的数据结构呢,答案就是本文接下来要介绍了散...
分类:
编程语言 时间:
2014-10-31 23:36:25
阅读次数:
387
转自:算法的最坏情况与平均情况如果一个程序运行多次,则有时候它会快点儿,有时候它会慢点儿。算法也一样,在输入1的情况下和输入2的情况下,其执行效率不一定一样。即算法会随着输入数据的不同而有秩序效率的不同,有时候会快点儿,有时候会慢点儿。例如,对一个已经排好序的序列进行排序就要相对容易一些。另外,输入...
分类:
编程语言 时间:
2014-10-12 03:30:47
阅读次数:
276
题目链接:uva 11605 - Lights inside a 3d Grid
题目大意:给定一个三维坐标系大小,每个位置有一个灯,初始状态为关,每次随机选中两个点,以这两点为对角线的长方体内所有灯转变状态。操作K次,问说平均情况下,最后会有多少栈灯亮着。
解题思路:枚举坐标系上的点,计算单个点亮着的概率,然后累加即使整体的期望。对于一个点x,y,z,分别考虑每维坐标系,例如x,选中...
分类:
其他好文 时间:
2014-08-12 10:20:34
阅读次数:
182
题目链接:uva 10288 - Coupons
题目大意:给定n,为有n中兑换卷,现在每开一次箱子,就能等概率的获得其中的一种兑换卷。问说平均情况下需要开多少个箱子才能集齐n种兑换卷。
解题思路:dp[i]表示还有i种没获得,dp[i]=n?in?dp[i]+in?dp[i?1]+1
===》dp[i]=dp[i?1]+ni
#include
#include
#includ...
分类:
其他好文 时间:
2014-08-12 00:51:13
阅读次数:
266
归并排序的原理:如果数组的元素个数大于1,则: 将数组平均分为两部分; 左边的数组归并排序;递归 右边的数组归并排序;递归 将两个各自有序的数组合并,需要一个额外的辅助数组,暂时保存合并结果;返回否则,数组元素个数为1时,已经有序;直接返回。稳定排序。时间复杂度在最坏、最好、平均情况下都为O...
分类:
其他好文 时间:
2014-08-12 00:27:53
阅读次数:
223