1、冒泡排序基本思想:若从小到大排序,从头开始,两两比较,大的放在后面,将待排序元素从左到右比较一遍成为“一次冒泡”,每次冒泡都将待排序数列中最大的关键字交换到最后,直到所有元素有序为止。算法复杂度:O(2^n)改进方法:可能排序几次后,数列已经有序,但是还没有进行完n次循环。可以在交换的代码段中设...
分类:
编程语言 时间:
2016-01-17 23:03:40
阅读次数:
335
4.抽象数据类型抽象数据类型简称ADT(AbstractDataType),是指一个数学模型以及定义在该模型上的一组操作。5.抽象数据类型的作用以浅显易懂的语言描述某一个数学模型的操作流程,而且只要其数学特性不变,都不会影响外部使用。6.算法基础(1)算法有哪几个特性?a.有穷性——..
分类:
其他好文 时间:
2016-01-13 00:53:51
阅读次数:
145
4.抽象数据类型抽象数据类型简称ADT(AbstractDataType),是指一个数学模型以及定义在该模型上的一组操作。5.抽象数据类型的作用以浅显易懂的语言描述某一个数学模型的操作流程,而且只要其数学特性不变,都不会影响外部使用。6.算法基础(1)算法有哪几个特性?a.有穷性——..
分类:
其他好文 时间:
2016-01-13 00:53:51
阅读次数:
165
一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)...
分类:
编程语言 时间:
2016-01-06 00:00:34
阅读次数:
504
今天上最后一节史纲课,老师说不管什么学科,最重要的就是思想。我觉得很有道理。 好吧,不扯了。原谅我看书选择了速读策略,中间有很多感觉目前还很难看懂,以后有时间再细细学习。把略过去的在这里记一下。一、矩阵乘法算法。复杂度从n^3优化到了n^2.81 (数字比较神奇)。因为还没学线性代数,所以以后学了....
分类:
编程语言 时间:
2016-01-05 00:13:06
阅读次数:
275
递归算法的复杂度分析方法。 a、分析出复杂度公式(关于n的规模) b、求解这个公式1、齐次 例如求fabonaci的第n项,f(n) = f(n-1)+f(n-2) => f(n)-f(n-1)-f(n-2)=0 =>特征方程:x^2-x-...
分类:
编程语言 时间:
2016-01-01 18:46:08
阅读次数:
180
题目来源https://leetcode.com/problems/powx-n/Implement pow(x,n).题意分析Input: x,nOutput:pow(x,n)Conditions:满足一定的内存需求,算法复杂度低一些题目思路刚开始以为直接乘就好了,但是爆内存了,仔细看发现其实可以...
分类:
编程语言 时间:
2015-12-23 22:48:06
阅读次数:
318
d.看一个图是不是强连通图s.求出强连通分量,看看有没有一个强连通分量包含所有点。c.Tarjan/*Tarjan算法复杂度O(N+M)*/#include#include#includeusing namespace std;const int MAXN=10010;//点数const int M...
分类:
其他好文 时间:
2015-12-04 20:22:02
阅读次数:
132
dp的方法比较简单就不写了。这里用分治法,对与一个数组,最大的子区间可以在left 到 mid这一段, 也可能划过mid, 也可能在mid 到 right, 所以分别求这三段,取最大的结果。求左右段最大的时候才用分治的想法。算法复杂度为o(nlogn)public class Solution { ...
分类:
其他好文 时间:
2015-12-04 12:49:14
阅读次数:
118
翻译给定一个整型已排序数组,找到一个给定值在其中的起点与终点。你的算法复杂度必须低于O(logn)。如果目标在数组中不会被发现,返回[-1, -1]。例如,给定[5, 7, 7, 8, 8, 10],目标值为8,返回[3, 4]。原文Given a sorted array of integers,
find the starting and ending position of a given...
分类:
其他好文 时间:
2015-11-28 21:41:47
阅读次数:
171