码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
数组中只出现一次的数字
题目:一个整型数组里除了两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度为O(1)。分析:由于时间复杂度和空间复杂度的限制,不可能用多次遍历数组方法和辅助数组的方法。因此问题比较难以下手。现在考虑如果只有..
分类:编程语言   时间:2014-12-09 12:26:22    阅读次数:175
常用的排序算法的时间复杂度和空间复杂度
常用的排序算法的时间复杂度和空间复杂度排序法最差时间分析平均时间复杂度稳定度空间复杂度冒泡排序O(n2)O(n2)稳定O(1)快速排序O(n2)O(n*log2n)不稳定O(log2n)~O(n)选择排序O(n2)O(n2)稳定O(1)二叉树排序O(n2)O(n*log2n)不一顶O(n)插入排序O...
分类:编程语言   时间:2014-12-09 11:46:03    阅读次数:190
【C/C++】排序算法小结
1、计数排序如果给定上下界,并且区间不大的话,最适用。比如对于英文字母数组进行排序。时间复杂度O(n),空间复杂度O(n)void countSort(int A[], int n, int low, int high){ int size = high-low+1; vector co...
分类:编程语言   时间:2014-12-08 21:13:50    阅读次数:225
careercup-递归和动态规划 9.4
9.4 编写一个方法,返回某集合的所有子集。类似leetcode:Subsets解法:解决这个问题之前,我们先要对时间和空间复杂度有个合理的评估。一个集合会有多少子集?我们可以这么计算,生成了一个子集时,每个元素都可以“选择”在或者不在这个子集中。也就是说,第一个元素有两个选择:它要么在集合中,要么...
分类:其他好文   时间:2014-12-07 22:57:57    阅读次数:347
杨辉三角型----衍生
还是昨天那个题,http://www.cnblogs.com/092-zhang/p/4148925.html昨天那个程序的时间复杂度在本人能力范围内基本不可再优化,空间复杂度为O(2^n),导致有随着输入规模的增大而增大。后突然发现此图是杨辉三角的变种,过通过数学方法优化算法。 1 /* Unus...
分类:其他好文   时间:2014-12-07 19:07:29    阅读次数:155
算法与数据结构基础9:C++实现有向图邻接矩阵存储
邻接矩阵的存储比邻接表实现起来更加方便,也更加容易理解。 邻接矩阵就是用一个二维数组matrix来存储每两个点的关系。如果两个点m,n之间有边,将数组matrix[]m[m]设为1,否则设为0。 如果有权,则将matrix[m]n[]设为权值,定义一个很大或者很小的数(只要不跟权值冲突即可),表示不相连。 空间复杂度为O(V^2),适合比较稠密的图。 邻接表O(V+E),适合比较稀疏的图。...
分类:编程语言   时间:2014-12-06 15:25:28    阅读次数:255
算法与数据结构基础8:C++实现有向图邻接表存储
前面实现了链表和树,现在看看图。 链表是一对一的对应关系; 树是一对多的对应关系; 图是多对多的对应关系。 图一般有两种存储方式,邻接表和邻接矩阵。 先看邻接表。 邻接表就是将图中所有的点用一个数组存储起来,并将此作为一个链表的头, 链表中保存跟这个点相邻的点(边点),如果有权值,则在边点中增加一权值字段。 因此,有向图邻接表的空间复杂度为O(v+e),无向图加倍。...
分类:编程语言   时间:2014-12-06 12:52:27    阅读次数:235
数据结构基础
数据结构基础目录对数据结构的理解数据结构的基本概念时间复杂度空间复杂度数据结构的用途对数据结构的理解数据结构的基本概念时间复杂度空间复杂度数据结构的用途
分类:其他好文   时间:2014-12-05 10:27:06    阅读次数:120
树状数组单点更新和区间查询
这里是最基本的操作。单操作时间复杂度O(logN),空间复杂度O(N). 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 int n,m; 8 int a[100002],tree[100002]; 9 10 vo...
分类:编程语言   时间:2014-12-05 00:31:33    阅读次数:218
《算法》C++代码 快速排序
快速排序,简称快排,常称QuickSort、QSort。在排序算法中非常常用,其编程复杂度低,时间复杂度O(logN),空间复杂度O(N),执行效率稳定,而且常数很低。 基本思想就是二分,例如你要将N个数排序,你调用了QSort(1,N)。那么快排会这样做:1、找出一个数x2、将N个数分成两部...
分类:编程语言   时间:2014-12-04 19:30:55    阅读次数:309
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!