码迷,mamicode.com
首页 >  
搜索关键字:复杂度分析    ( 263个结果
Shell排序(希尔)算法--java
Shell排序算法的时间复杂度分析比较复杂,实际所需的时间取决于各次排序时增量的个数和增量的取值。研究证明,若增量的取值比较合理,Shell排序算法的时间复杂度约为O(n(ldn)2)。由于Shell排序算法是按增量分组进行的排序,所以Shell排序算法是一种不稳定的排序算法。
分类:编程语言   时间:2015-01-03 14:37:08    阅读次数:230
平摊分析 --- 算法导论读书笔记
我们经常会说一个算法快不快,这个可以由实验得出,也可以通过分析复杂度得出。实验需要大量不同的输入才更全面准确,否则片面地看某个输入下的表现,是比较偏颇的。分析复杂度(通常分析最坏,因为平均涉及输入的概率分布,依靠假设或者实验和经验)有时候并不是一个简单的事,简单的情况是遍历 for(int i = 0; i != n; i++) 的这种情况,显然是O(n)的复杂度。但是一些复杂的情况就比较难办了,...
分类:编程语言   时间:2014-12-30 00:32:51    阅读次数:242
递归算法的时间复杂度分析
转自地址http://blog.csdn.net/metasearch/article/details/4428865在算法分析中,当一个算法中包含递归调用时,其时间复杂度的分析会转化为一个递归方程求解。实际上,这个问题是数学上求解渐近阶的问题,而递归方程的形式多种多样,其求解方法也是不一而足,比较...
分类:编程语言   时间:2014-12-08 19:25:13    阅读次数:209
算法复杂度分析方法以及算法概述
算法定义:解决特定问题的求解步骤的描述.算法特性:有穷性、确定性、可行性、输入、输出算法的设计要求:正确性、可读性、健壮性、高效率和低存储量需求算法度量方法:事后统计方法(不科学)、事前分析估算方法函数的渐近增长:给定两个函数f(n)和g(n),如果存在一个整数N,..
分类:编程语言   时间:2014-12-03 01:51:10    阅读次数:167
算法----堆排序(heap sort)
堆排序是利用堆进行排序的高效算法,其能实现O(NlogN)的排序时间复杂度,具体算法分析可以点击堆排序算法时间复杂度分析。 算法实现: 调整堆: void sort::sink(int* a, const int root, const int end) { int i=root; while(2*i +1 <= end) { int k = 2*i+1; if(k+1<=e...
分类:编程语言   时间:2014-11-16 23:09:56    阅读次数:447
递归函数时间复杂度分析
递归函数时间复杂度分析(1)递归运行过程样例:求N!。这是一个简单的"累乘"问题,用递归算法也能解决。n!=n*(n-1)!n>10!=1,1!=1n=0,1因此,递归算法例如以下:Java代码fact(intn){if(n==0||n==1)return1;elsereturnn*fact(n-1...
分类:其他好文   时间:2014-11-07 20:36:09    阅读次数:352
KMP 解决串的模式匹配问题
KMP本身不复杂,但网上绝大部分的文章(包括本文的2011年版本)把它讲混乱了。下面,咱们从暴力匹配算法讲起,随后阐述KMP的流程 步骤、next 数组的简单求解 递推原理 代码求解,接着基于next 数组匹配,谈到有限状态自动机,next 数组的优化,KMP的时间复杂度分析,最后简要介绍两个KMP的扩展算法。 全文力图给你一个最为完整最为清晰的KMP,希望更多的人不再被KMP折磨或纠缠,不再被一些混乱的文章所混乱,有何疑问,欢迎随时留言评论,thanks。...
分类:其他好文   时间:2014-11-01 21:52:40    阅读次数:325
递归算法的时间复杂度分析
在算法分析中,当一个算法中包括递归调用时,其时间复杂度的分析会转化为一个递归方程求解。实际上,这个问题是数学上求解渐近阶的问题,而递归方程的形式多种多样,其求解方法也是不一而足,比較经常使用的有下面四种方法: (1)代入法(Substitution Method) 代入法的基本步骤是先猜測递归方程....
分类:编程语言   时间:2014-10-30 13:28:01    阅读次数:214
百度笔试(2014年10.12.14:00)
算法描述和复杂度分析 发牌程序 c与c++分别是怎样动态分配和释放内存的,有什么区别? c语言提供内存动态分配的函数有:malloc、calloc、realloc,在使用这些函数时必须包含其头文件,分别为:、、     1) malloc 函数: void *malloc(unsigned int size)      在内存的动态分配区域中分配一个长度为size的连续空间,如果分配成功...
分类:其他好文   时间:2014-10-13 11:01:14    阅读次数:214
“跳跃表”简析
复杂度 空间复杂度: O(n) (期望)跳跃表高度: O(logn)(期望)查找:O(logn)(期望)插入: O(logn)(期望)删除:O(logn)(期望)之所以在每一项后面都加一个“期望”,是因为跳跃表的复杂度分析是基于概率论的。有可能会产生最坏情况,不过这种概率极其微小。顶层链表元素的确定...
分类:其他好文   时间:2014-10-08 11:36:55    阅读次数:306
263条   上一页 1 ... 22 23 24 25 26 27 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!