算法的时间复杂度和空间复杂度合称为算法的复杂度。1.时间复杂度(1)时间频度一 个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间 多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行...
分类:
其他好文 时间:
2015-10-19 12:34:09
阅读次数:
135
2份模板 DC3 。 空间复杂度O3N 时间复杂度On#define F(x) ((x) / 3 + ((x) % 3 == 1 ? 0 : tb))#define G(x) ((x) = 0 ; i--) b[--wsd[wv[i]]] = a[i];}void dc3(int *r,int *s...
分类:
编程语言 时间:
2015-10-17 21:50:59
阅读次数:
436
You are given annxn2D matrix representing an image.Rotate the image by 90 degrees (clockwise).Follow up:Could you do this in-place?解法1:新开辟一个矩阵,空间复杂度O(...
分类:
其他好文 时间:
2015-10-15 18:40:34
阅读次数:
249
已经正式开始学习数据结构和算法,先学了网易云课堂上的浙江大学的数据结构课,是陈越和何钦铭上的,了解了什么是数据结构和算法后,学习了一些时间空间复杂度分析的技巧,结合之前马虎掌握的学习,先从简单的题目入手学习。题目是这样的:给定了一个n个整数组成的序列,求它各个子列中,子列和最大的值。输入:输入n个整...
分类:
编程语言 时间:
2015-10-15 01:01:08
阅读次数:
154
题目:给定一个单向链表,判断它是不是回文链表(即从前往后读和从后往前读是一样的)。原题见下图,还要求了O(n)的时间复杂度O(1)的空间复杂度。我的思考:1,一看到这个题目,大脑马上想到的解决方案就是数组。遍历链表,用数组把数据存下来,然后再进行一次遍历,同时用数组反向地与之比较,这样就可以判断是否...
分类:
其他好文 时间:
2015-10-14 21:46:32
阅读次数:
845
何为时间空间复杂度? ? 《1》空间复杂度O(N): 一个算法在运行过程中临时占用存储空间大小的量度。一个算法的空间复杂度只考虑在运行过程中为局部变量分配的存储空间的大小,它包括为参数表中形参变量分配...
分类:
其他好文 时间:
2015-10-14 20:07:06
阅读次数:
170
题目:对1, 2, ... , n的一个无序数组,排序,要求时间复杂度为O(N),空间复杂度为O(1).思路:该题利用数组元素和数组下标相差1的关系,Java代码如下:import java.util.Arrays;public class Main { public static void ...
分类:
编程语言 时间:
2015-10-13 18:40:47
阅读次数:
161
一个算法的复杂度可以说也就是一个算法的效率,一般来说分为时间复杂度和空间复杂度。。。 注意接下来说的均是比较YY的,适用与ACM等不需严格分析只需要大致范围的地方,至于严格的算法复杂度分析的那些数学证明,主定理什么的在《算法导论》这本书上有十分详细的讲解,网上应该也会有人写过,这里就不多说了(...
分类:
编程语言 时间:
2015-10-10 23:02:24
阅读次数:
370
上一博文线段树问题中,用数组表示线段树,成功AC了,本文用二叉树表示线段树,复习一下二叉树,不过下面这段用二叉树代码表示的线段树是无法AC的,因为这个代码的空间复杂度远高于上一个用结构体数组表示的空间复杂度。#include<iostream>#include<cstdlib>#inclu..
分类:
其他好文 时间:
2015-10-07 06:26:01
阅读次数:
198
非常插入排序easy。像扑克。卡的手4,再次卡5在本能地放置在第一张牌的权利。假设一3然后从右到左扫描。只有被插入到左边的比这个数字大容量交换。 插入排序是一种稳定的排序方法,时间复杂度O(n*n),空间复杂度O(1),最好的情况下时间复杂度为O(1).即本来就是一个有序或者相等的数组,则仅仅需比較...
分类:
编程语言 时间:
2015-10-05 09:14:44
阅读次数:
225