Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity1. Naive Solution思路:直接的想法依次找出列表中的最小项串接起来。 复杂度分析:时间复杂度...
分类:
其他好文 时间:
2014-10-02 01:18:11
阅读次数:
163
(1)原理和代码以及时间复杂度分析 1.计数排序的原理:设被排序的数组为A,排序后存储到B,C为临时数组。所谓计数,首先是通过一个数组C[i]计算大小等于i的元素个数,此过程只需要一次循环遍历就可以;在此基础上,计算小于或者等于i的元素个数,也是一重循环就完成。下一步是关键:逆...
分类:
其他好文 时间:
2014-09-16 23:41:41
阅读次数:
312
一.朴素判断素数1 bool PrimerNumber(int n)2 {3 for(int i = 2; i*i <= n; i++)4 {5 if(n % i == 0)6 return false;7 }8 return ...
分类:
其他好文 时间:
2014-09-12 13:25:03
阅读次数:
122
当N很小十可以使用方法2,
当N很大时可以使用方法1,从硬盘逐次读入解决;
/*方法 1 适合大量数据
*寻找长为N的数组的前M大的元素并输出。
*用堆的性质,使用数组N建立一个M大的最大堆,然后输出堆内容即可
*时间复杂度分析: 建堆时间O(M)
*遍历数字,并在堆中比较时间O((N-M)logM)
*总时间复杂度O(M)+ O((N-M)logM)
*
...
分类:
其他好文 时间:
2014-09-06 11:02:23
阅读次数:
231
在算法分析中,当一个算法中包括递归调用时,其时间复杂度的分析会转化为一个递归方程求解。实际上,这个问题是数学上求解渐近阶的问题,而递归方程的形式多种多样,其求解方法也是不一而足,比較经常使用的有下面四种方法: (1)代入法(Substitution Method) 代入法的基本步骤是先猜測递归方程....
分类:
其他好文 时间:
2014-08-31 21:16:41
阅读次数:
207
多精度计算里,多精度乘法是其中最重要的运算之一,编写的多精度库(类)的其中一个重要效率标识就是其乘法的速度.根据曾经写的大数类的记忆,简单记录下其中的一些技巧,以备查询.一般的算法有如:多精度乘法,所知的几个主要的优化方法有:1:直接乘法.2:comba乘法3:Karatsuba乘法4:too..
分类:
其他好文 时间:
2014-08-25 15:12:55
阅读次数:
341
问题描述:给定字符串和左旋的字符数,写程序实现字符串的左旋操作。例如对于字符串”12345678″, 左旋转4个字符后,变成”56781234″。要求时间复杂度为O(n),空间复杂度O(1)。分析:假设字符串表示为XY,X表示需要左旋的部分,左旋后字符串表示为YX。根据公式:代码实现: 1 // 2...
分类:
其他好文 时间:
2014-08-21 18:34:34
阅读次数:
169
方法一:
template
void SelectSort(T a[],int n)
{
}...
分类:
其他好文 时间:
2014-08-16 09:47:20
阅读次数:
189
【问题】
1、不用除法运算
两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i]; 要求:
1.不准用除法运算2.除了循环计数值,a[N],b[N]外,不准再用其他任何变量(包括局部变量,全局变量等)3.满足时间复杂度O(n),空间复杂度O(1)。
【分析】
提示:题目要求...
分类:
其他好文 时间:
2014-08-15 17:50:49
阅读次数:
198
Sonar是Java的代码质量管理工具,具有代码静态检查、单元测试覆盖率分析、代码复杂度分析、jar依赖关系分析等多种功能。本文记录了其安装过程,以备后查。...
分类:
编程语言 时间:
2014-08-12 22:10:44
阅读次数:
353