实现一个算法,找出单向链表中倒数第k个结点。分析:使用相差k个位置的两个指针,以相同的速度遍历链表,当快指针为空时,慢指针刚好指向链表的倒数第k个结点。时间复杂度O(n),空间复杂度O(1)。 1 #include 2 #include 3 #include 4 5 using namesp...
分类:
其他好文 时间:
2014-09-18 22:09:04
阅读次数:
260
将一个矩阵逆时针旋转90度,首先可以沿左上角-右下角斜对角线,进行上下交换数据,然后上下数据交换即可。 1 #include 2 #include 3 //矩阵逆时针旋转90度 4 int main() 5 { 6 int a[3][3]={{1,2,3},{4,5,6},{7,8,9}...
分类:
其他好文 时间:
2014-09-17 10:12:52
阅读次数:
198
数组a[n-1]里存有1到n的所有数,除了一个数removed,找出这个missing的数。#include #include //数组a[n-1]里存有1到n的所有数,除了一个数removed,找出这个missing的数。//容易发生溢出 时间复杂度O(N),空间复杂度O(1)int missi....
分类:
其他好文 时间:
2014-09-16 23:19:31
阅读次数:
217
一。时间复杂度在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,今儿分析T(n)随n的变化情况并确定T(n)的数量。算法的时间复杂度,也就是算法的时间量度,T(n)=O(f(n)),它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称时...
分类:
其他好文 时间:
2014-09-15 22:37:29
阅读次数:
219
归并排序分析:
最优时间复杂度:O(n)
最坏时间复杂度:O(nlog2n)
平均时间复杂度:O(nlog2n)
最差空间复杂度:O(n)
稳定性:稳定
归并排序C语言实现 递归与非递归...
分类:
其他好文 时间:
2014-09-15 12:57:28
阅读次数:
140
一、常用的排序算法的时间复杂度和空间复杂度排序法最差时间分析平均时间复杂度稳定度空间复杂度冒泡排序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)插入排...
分类:
其他好文 时间:
2014-09-14 17:53:57
阅读次数:
375
这次呢,大鹏哥跟大家来谈谈算法的时间复杂度这个东西,通常说到时间复杂度还会想到它的双胞胎兄弟-空间复杂度,下面就先来看一下这两个度的区别:
时间复杂度就是度量算法执行的时间长短;空间复杂度就是度量算法所需存储空间的大小。
通常情况下,算法的基本操作重复执行的次数是一个关于n的函数f(n),因此呢算法的时间复杂度记作:T(n)=O(f(n))
分析:随着n的...
分类:
其他好文 时间:
2014-09-11 15:22:32
阅读次数:
126
一开始讲了算法的空间复杂度和时间复杂度的分析,其怎么由来的,一步步的分析演变,以前看过《算法之道》,这个还有点熟悉,就是具体的例子的时间复杂度的分析不怎么
会,应多加练习,毕竟
这是很基础的东西~
然后就是递归和分治~ 今晚只够时间讲递归~
其实,都看过递归~以前刚刚开始接触的时候觉得很容易,慢慢的就很难了,就是实现代码的时候碰到了思维障碍,过不去,大二时就学过递归~很重要的基础
以前的...
分类:
其他好文 时间:
2014-09-11 01:12:11
阅读次数:
189
关于求重复数,我们先来看看两道常见的题
1、有101个数,为[1,100]之间的数,其中一个数是重复的,如何寻找这个重复的数,其时间复杂度和空间复杂度是多少?
2、1-N(N最大32000,且未知),内存只有4K,找出其中的重复数...
分类:
其他好文 时间:
2014-09-11 01:11:41
阅读次数:
252
ZOJ 3812 We Need Medicine
题目链接
思路:dp[i][j][k]表示第i个物品,组成两个值为j和k的状态,这样会爆掉,所以状态需要转化一下
首先利用滚动数组,可以省去i这维,然后由于j最大记录到50,所以可以把状态表示成一个二进制数s,转化成dp[k] = s,表示组成k状态能组成s,这样空间复杂度就可以接受了,然后这题时限还可以,就这样去转移,然后记录...
分类:
其他好文 时间:
2014-09-10 22:33:31
阅读次数:
261