本节主要讲解的是算法的复杂度。
算法性能
算法的性能分为三种:
最佳情况:计算时间最短的情况
最差情况:计算时间最长的情况
平均情况:随机输入的期望开销
以二分查找为例
最佳情况是1,因为第一次就有可能找到需要找的整数。
最差情况是logN
平均情况是logN
算法复杂度
...
分类:
其他好文 时间:
2014-06-01 15:57:46
阅读次数:
220
讲完了算法的运行时间,现在讲一下关于算法的内存占用率。
内存单位
在计算机中,内存是通过字节来表示的,一个字节表示8个位。1KB是2^10字节。
数据类型占用的内存
在32位系统中,一个指针占用4个字节。在64位系统中一个指针占用8个字节。本课程中使用64位机器,一个指针占用8字节。
基本数据类型
...
分类:
其他好文 时间:
2014-06-01 16:24:44
阅读次数:
204
本节讲的是并查集的基本概念。
算法的开发步骤
对问题进行数学建模
寻找一个能够解决问题的算法
运行算法检测速度和内存是否符合要求
如果达不到要求,找出原因
寻找一种方法来解决问题
循环步骤,直到满意为止
以上就是算法开发比较科学的方法。算法开发完成之后需要进行数学分析。
并查集问题
...
分类:
其他好文 时间:
2014-06-01 14:15:14
阅读次数:
185
本节讲的是并查集的第一种实现方法,这种方法查找操作开销很小而合并操作开销比较大。
数据结构
假设有N个节点,那么该算法的数据结构就是一个包含N个整数的数组id[]。
判断操作
判断节点p和节点q是否相连就是判断id[p]和id[q]的值是否一致。
合并操作
合并节点p和节点q就是将id数组中所有的id[...
分类:
其他好文 时间:
2014-06-01 14:55:21
阅读次数:
202
本节讲的是并查集的另外一种实现方法。这种方法的合并操作开销很小,但是查找操作开销很大。
数据结构
这种算法的数据结构和快速查找方法的数据结构是一样的,也是N个整数组成的数组。
数组中每个元素id[i]的含义是指i的上级是id[i]。
根节点
一个节点的根节点就是id[id[id[...id[i]....]]],一直循...
分类:
其他好文 时间:
2014-06-01 14:52:52
阅读次数:
225
lca的做法还是很明显的,简单粗暴,
不过不是正解,如果树是长链就会跪,直接变成O(n)、、
最后跑的也挺快,出题人还是挺阳光的。。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2014-06-01 15:39:05
阅读次数:
256
The Game of Coins
mark:
#include"cstdio"
#include"iostream"
#include"queue"
#include"algorithm"
#include"set"
#include"queue"
#include"cmath"
#include"string.h"
#include"vector...
分类:
其他好文 时间:
2014-06-01 13:58:31
阅读次数:
196
Description
Golden ratio base (GRB) is a non-integer positional numeral system that uses the golden ratio (the irrational number (1+√5)/2 ≈ 1.61803399 symbolized by the Greek letter φ) as its base....
分类:
其他好文 时间:
2014-06-01 15:38:24
阅读次数:
252
最小二乘法又叫做最小平方法,是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。
通常情况下最小二乘法用于求回归问题。以简单的线性最小二乘为例,二维平面上给定个点的坐标,确定一条直线,
要求大致符合这个点的走向。
我们可以设这条直线的方程为,那么就要使在处的函数值与给定的值相
差达到最小,也就是说,要确定的值,使得
最小。根...
分类:
其他好文 时间:
2014-06-01 13:57:53
阅读次数:
206
Eddy's AC难题
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3605 Accepted Submission(s): 1684
Problem Description
Eddy是个ACMer,他不...
分类:
其他好文 时间:
2014-06-01 13:03:52
阅读次数:
281
这段代码我花了整整一天来编写,如果转载,请注明出处,谢谢!
前面的一篇文章已经讲了如何发送邮件正文,原理我就不再叙述了,要了解的同学请到这里查看!
网上很多发送邮件附件的代码都不能用,所以我用心写了一个,直接封装成了一个类,需要的同学可以直接调用这个类来发送邮件,使用的是纯C++,不含MFC,请放心使用。(在VS2013下测试完美通过!)
废话不多说,直接上代码!
Sm...
分类:
编程语言 时间:
2014-06-01 14:58:54
阅读次数:
425
本文介绍如何用简单的命令将已有的Linux Mint 16升级到Mint 17。...
分类:
系统相关 时间:
2014-06-01 12:54:14
阅读次数:
291
月球美容计划之最短路,包含迪杰斯特拉,贝尔曼福特,弗洛伊德,SPFA对HDU2544的代码...
分类:
其他好文 时间:
2014-06-01 14:58:12
阅读次数:
296
在与Fengqi.Asia(风起云)的潜在客户接触时,经常被问到如下问题:为什么我要用从Linux换到SmartOS,一个我不熟悉的系统?什么是SmartOS?你们使用的是Joyent的技术,那么Joyent是干嘛的?SmartOS用的是Linux的哪个发行版?...
分类:
其他好文 时间:
2014-06-01 14:46:44
阅读次数:
294
[UIDevice currentDevice].batteryMonitoringEnabled = YES;
double deviceLevel = [UIDevice currentDevice].batteryLevel;获取当前剩余电量, 我们通常采用上述方法。这也是苹果官方文档提供的。它返回的是0.00-1.00之间的浮点值。 另外, -1.00表示模拟器。貌似这个方法不错, 也很...
分类:
移动开发 时间:
2014-06-01 14:57:31
阅读次数:
275
Android应用中使用百度地图API并添加标注(一)...
分类:
移动开发 时间:
2014-06-01 14:40:39
阅读次数:
238