一、综述
快速排序是交换排序中的一种,平均算法复杂度是O(nlogn),最坏O(n*n)。下面用Java实现一个快速排序,并用注释的方式解释了思想和原理。
二、Java实现堆排序
{CSDN:CODE:869950}
三、结果检验
{CSDN:CODE:869983}...
分类:
编程语言 时间:
2015-08-08 00:01:10
阅读次数:
375
一、综述
堆排序是选择排序中的一种,算法复杂度是O(nlogn),最坏最好都是这个。下面用Java实现一个堆排序,并用注释的方式解释了堆排序的思想和原理。
二、Java实现堆排序
{CSDN:CODE:853870}
三、结果检验
{CSDN:CODE:853886}...
分类:
编程语言 时间:
2015-08-05 15:01:21
阅读次数:
119
为什么要进行算法分析?
预测算法所需的资源
计算时间(CPU 消耗)内存空间(RAM 消耗)通信时间(带宽消耗)
预测算法的运行时间
在给定输入规模时,所执行的基本操作数量,或者称为算法复杂度(Algorithm Complexity)
如何衡量算法复杂度?
内存(Memory)时间(Time)指令的数量(Number of Steps)特定...
分类:
编程语言 时间:
2015-08-02 21:44:16
阅读次数:
213
示例代码(1)
decimal Factorial(int n)
{
if (n == 0)
return 1;
else
return n * Factorial(n - 1);
}
【分析】
阶乘(factorial),给定规模 n,算法基本步骤执行的数量为 n,所以算法复杂度为 O(n)。
示例代码(2)
int FindMaxElement(int[] array)
{
int max = array[0]...
分类:
编程语言 时间:
2015-08-02 21:43:05
阅读次数:
174
题意:
有四种面值的硬币ci,进行tot次购物;
每次购物每种硬币有di个,问买s元的物品有几种方法;
题解:
硬币面值只有四种,可以猜测到算法复杂度不会很大;
普通的背包无法限制di个这个条件;
而将di个硬币拆开复杂度无法承受,并且一样难以统计方案;
所以考虑容斥原理简化问题;
去掉di的限制,令f[x]表示四种硬币购买x元的物品有几种方法;
这个f数组可以在...
分类:
其他好文 时间:
2015-07-30 11:20:19
阅读次数:
113
还是属于并查集的变形
两个点只有一条路径连通
给出的两个点事先都是属于两个集合的
需要给出的着条边构成一个集合
算法复杂度还是挺高的
每个我都循环了100000次
set2数组没清空 wrong了一次
#include
#include
#include
using namespace std;
int sett[100000 + 100];
int set2[100000 + 10...
分类:
其他好文 时间:
2015-07-26 08:38:58
阅读次数:
167
题目链接: http://poj.org/problem?id=1144思路分析:该问题要求求出无向联通图中的割点数目,使用Tarjan算法即可求出无向联通图中的所有的割点,算法复杂度为O(|V| + |E|);代码如下:#include #include #include #include usi...
分类:
Web程序 时间:
2015-07-24 16:01:22
阅读次数:
141
Journal of the ACM(JACM) 大部分都是算法、复杂度、图论、组合数学等纯理论Communications of the ACM (CACM) 不追求数学上的严格证明,而追求易于理解的直觉描述IEEE Transaction on Computers 主要登载sy...
分类:
其他好文 时间:
2015-07-24 15:54:49
阅读次数:
133
优点:原理简单(靠近中心点),实现容易(1、2 天),聚类效果中上(依赖K的选择)缺点:1. 无法确定K的个数 (根据什么指标确定K)2. 对离群点敏感 (容易导致中心点偏移)3. 算法复杂度不易控制 O(NKm), 迭代次数可能较多 (m可能会比较大)4. 局部最优解而不是全局优 (这个和初始点选...
分类:
编程语言 时间:
2015-07-23 13:43:56
阅读次数:
168
推到大O阶方法:1.用常数1取代运行时间中的所有加法常数。2.在修改后的运行次数函数中,只保留最高阶项。3.如果最高阶项存在且不是1,则去除与这个项相乘的常数。得到的结果就是大O阶。常数阶如果没有循环和递归语句,只是单纯的顺序结构,那么算法复杂度为O(1)。对于分支分支结构来说,无论真假,执行的次数...
分类:
编程语言 时间:
2015-07-12 10:59:14
阅读次数:
158