码迷,mamicode.com
首页 >  
搜索关键字:最坏情况    ( 494个结果
HDU 3573 Buy Sticks (逻辑)
题意:a,b,c三种棍子长度分别为20,28,32,现需要这三种棍子数根,欲买长为75的棍子来剪成这三种(不够长的就废弃) ,问需要买多少根。思路:将所有棍子尽可能和其他搭配起来,使得数量减到最少。分情况: 结果(按最坏情况考虑):2a+c=72 要么c=0,要么a=1或a=02a+b=68...
分类:其他好文   时间:2015-06-18 23:58:34    阅读次数:371
C++实现快速排序
快速排序是一个递归的过程,只要能够实现一趟快速排序的算法,就可以利用递归的方法对一趟快速排序后的左右分区域分别进行快速排序。会时常出现面试和笔试题目中。 值得强调是:最好的情况是枢纽元素选取得当,每次都能均匀的划分序列。 时间复杂度O(nlogn),最坏情况是枢纽元素为最大或者最小数字,那么所有数都划分到一个序列去了 时间复杂度为O(n^2)。 排序思路: 源码: #include u...
分类:编程语言   时间:2015-06-18 09:38:05    阅读次数:129
排序算法性能及选择总结
排序法平均时间最坏情况最好情况稳定度额外空间备注直接插入O(n2)O(n2)O(n)稳定O(1)大部分已排序时较好(简单)希尔O(nlogn)O(nlogn)与步长相关不稳定O(1)n小时较好(较复杂)冒泡O(n2)O(n2)O(n)稳定O(1)n小时较好(简单)快排O(nlogn)O(n2)O(n...
分类:编程语言   时间:2015-06-15 16:11:13    阅读次数:124
几种常见 容器 比较和分析 hashmap, map, vector, list .
list支持快速的插入和删除,但是查找费时;vector支持快速的查找,但是插入费时。map查找的时间复杂度是对数的,这几乎是最快的,hash也是对数的。如果我自己写,我也会用二叉检索树,它在大部分情况下可以保证对数复杂度,最坏情况是常数复杂度,而std::map在任何情况下都可以保证对数复杂度,原...
分类:其他好文   时间:2015-05-29 21:42:21    阅读次数:148
算法导论学习笔记——第8章 线性时间排序
任意一种比较排序算法,在最坏情况下的运行时间下限是Ω(nlgn)计数排序假设n个输入元素中的每一个都是介于0到k之间的整数,k为某个整数,当k=O(n)时,计数排序的运行时间为Θ(n) 1 //输入数组A[1..n],存放排序结果数组B[1..n],临时存储区C[0..k] 2 COUNTING-S...
分类:编程语言   时间:2015-05-24 17:18:52    阅读次数:135
【日常学习】几种常用最短路短发的总结比较
学(fuxi)了一阵子简要总结一下 floyd 全跑一边 点的三次方 100以下都呛 与点有关 无关边数 (可用于求解最小环) dij裸 点的二次方 每次贪心取最小的松弛  SPFA km k期望2 与边有关 稀疏图最好 搭配边表 最坏情况可能比上面的还慢 唯一可判负环 Bellman-Ford SPFA复杂版 不考虑 dij优化 mlogn 更多与边有关 或许是稠密图的最优解决...
分类:其他好文   时间:2015-05-19 19:03:09    阅读次数:172
插入排序
概述 ??插入排序非常类似于整扑克牌。在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行比较。无论什么时候,左手中的牌都是排好序的。 ??如果输入数组已经是排好序的话,插入排序出现最佳情况,其运行时间是输入规模的一个线性函数。如果输入数组是逆序排列的,将出现最坏情况。平均情况与...
分类:编程语言   时间:2015-05-18 16:50:00    阅读次数:154
算法导论--红黑树
红黑树是平衡搜索树的一种,可以保证在最坏情况下基本动态集合操作的时间复杂度为Lgn。红黑树在二叉搜索树的基础上结点增加了一个属性color,值为black或者red,即一个节点的属性有:left,right,p,color,key。同时,红黑树使用一个哨兵T_NIL代替以一般搜索树中的NULL,T_NIL也是一个普通的结点,也具有以上5个属性,它的color属性为black,其他属性为任意值。即叶子结点的左右孩子全部指向哨兵,以及根节点的父指针也指向哨兵。...
分类:编程语言   时间:2015-05-17 10:50:12    阅读次数:150
数据结构之红黑树
红黑树(Red Black Tree) 是一种自平衡二叉查找树红黑树和AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,.....
分类:其他好文   时间:2015-05-15 22:42:39    阅读次数:265
快速排序_QUICKSORT
快速排序 快速排序的基本思想 快速排序的代码实现 快速排序的性能分析 快速排序快速排序是一个最坏情况时间复杂度为Θ(n2)\Theta(n^2),最好情况下时间复杂度为O(nlogn)O(nlogn)的排序算法。虽然在最坏情况下的时间复杂为n2n^2,但是快速排序的平均性能非常好,只有Θ(nlogn)\Theta(nlogn),而且我们也可以主动避免快速排序的最差的情况,所以快速排序在排序作业中还是...
分类:编程语言   时间:2015-05-15 21:30:03    阅读次数:204
494条   上一页 1 ... 36 37 38 39 40 ... 50 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!