码迷,mamicode.com
首页 >  
搜索关键字:最坏情况    ( 494个结果
PHP中Array的hash函数实现
PHP中使用最多的非Array莫属了,那Array是如何实现的?在PHP内部Array通过一个hashtable来实现,其中使用链接法解决hash冲突的问题,这样最坏情况下,查找Array元素的复杂度为O(N),最好则为1.而其计算字符串hash值的方法如下,将源码摘出来以供查备:ps:对于以下函数...
分类:Web程序   时间:2015-03-06 18:40:09    阅读次数:184
复习数据结构:排序算法(七)——桶排序
桶排序是一种稳定的排序方法,也是一种外排序。     桶排序的时间复杂度:最坏情况运行时间:当分布不均匀时,全部元素都分到一个桶中,则O(n^2),当然[算法导论8.4-2]也可以将插入排序换成堆排序、快速排序等,这样最坏情况就是O(nlgn)。最好情况运行时间:O(n)。     也就说,前面介绍的排序算法要么是O(n^2),要么是O(nlogn),只有桶排序是可能实现O(n)排序的...
分类:编程语言   时间:2015-02-25 18:44:00    阅读次数:184
LeetCode 154. Find Minimum in Rotated Sorted Array II
二分搜索,和LeetCode 153. Find Minimum in Rotated Sorted Array相似。 只是在num[begin] == num[mid]时,需要binary_search(++ begin, end, num); 这时仅将begin移进一位,并没有进行二分查找。 所以如测试用例为 num = {1, 1, 1, 1, 1, ..., 1}等特殊情况时,最坏情况...
分类:其他好文   时间:2015-02-24 00:50:43    阅读次数:206
【算法导论】学习笔记——第13章 红黑树
红黑树(red-black tree)是许多平衡搜索树中的一种,因此基本操作(查询、删除、搜索)等在最坏情况下的时间复杂度均为O(lgn)。13. 1红黑树的性质红黑树时一棵二叉搜索树,并且在每个结点上增加了一个属性表示颜色:红色或黑色。通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,红...
分类:编程语言   时间:2015-02-19 22:57:57    阅读次数:202
数据结构拾遗(1) --红黑树的设计与实现(上)
红黑树是一种自平衡的二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组(C++ STL 中的map/set)。它是在1972年由Rudolf Bayer发明的,他称之为"对称二叉B树",它现代的名字是在 Leo J. Guibas 和 Robert Sedgewick 于1978年写的一篇论文中获得的。红黑树虽然很复杂,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效...
分类:其他好文   时间:2015-02-17 10:22:02    阅读次数:287
排序算法(1) 快速排序 C++实现
快速排序基本特性时间复杂度:O(n*lgn)最坏:O(n^2)空间复杂度:最好情况下:O(lgn),最坏情况:O(n),平均情况:O(lgn)不稳定。关于快速排序的空间复杂度,谢谢@命运他爹 同学指正。详述一下。快速排序由于每次递归的时候会占用一个空间返回中间数位置,所以一次递归的空间复杂度为O(1...
分类:编程语言   时间:2015-02-16 15:31:11    阅读次数:201
封装的一个sorted_vector示例,实现了stl::set的一部分接口
STL set能保证最坏情况下的查找和插入效率,logN。但是维护红黑树开销较大。set内的元素按照一定的逻辑顺序组织,查找、插入等操作的结果都和排序规则有关。 适合STL set的情况为: 1、集合很大,以至于O(N)远大于O(longN)。2、查找和插入的次数一样多,且需要考虑插入的效...
分类:其他好文   时间:2015-02-11 10:52:07    阅读次数:153
[算法导论]练习2-4.d求排列中逆序对的数量
题目:给出一个确定在n个不同元素的任何排列中逆序对数量的算法,最坏情况需要Θ(nlgn)时间。(提示:修改归并排序。)思路:修改从大到小排序的归并排序。 归并排序分为三步:分解、解决、合并。 分解:将排列A分解为A1、A2两个子排列。 解决:递归的从大到小排列A1和A2,在此同样递归的求解A1...
分类:编程语言   时间:2015-02-10 11:02:33    阅读次数:251
算法导论7.3快速排序的随机化版本
以下摘自网络 随机化快排:快速排序的最坏情况基于每次划分对主元的选择。基本的快速排序选取第一个元素作为主元。这样在数组已经有序的情况下,每次划分将得到最坏的结果。一种比较常见的优化方法是随机化算法,即随机选取一个元素作为主元。这种情况下虽然最坏情况仍然是O(n^2),但最坏情况不再依赖于输入数据,而...
分类:编程语言   时间:2015-02-10 10:33:02    阅读次数:257
浅谈算法和数据结构: 九 平衡查找树之红黑树
转载自http://www.cnblogs.com/yangecnu/p/3627386.html浅谈算法和数据结构: 九 平衡查找树之红黑树前面一篇文章介绍了2-3查找树,可以看到,2-3查找树能保证在插入元素之后能保持树的平衡状态,最坏情况下即所有的子节点都是2-node,树的高度为lgN,从而...
分类:编程语言   时间:2015-02-09 19:51:15    阅读次数:182
494条   上一页 1 ... 39 40 41 42 43 ... 50 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!