大数据时代的算法(一)算法基础

来源:互联网 发布:c语言生成lib库 编辑:程序博客网 时间:2024/05/17 15:05

算法基础

1基础算法的分析类型

分治法,动态规划法,回溯法,分支限界法,贪心法

2 算法性能分析(常用大写的“O”表示)

  时间复杂度:描述了算法的运行时间

空间复杂度:是指一个算法在运行过程中临时占有的存储空间大小,是算法需要的额外资源的体现。

  常见的算法复杂度大约有六种,以时间复杂度为列:

(1)   O(1):表示在常数级别完成问题的解

(2)   O(lgn):一般采用分治法思想的算法,根据一定的解题特性对问题求解。

(3)   O(n):可以理解为将问题的数据进行了常数次迭代。

(4)   O(nlgn):在数据的遍历过程中又采用的分支法的思想。

(5)   O(n2):表示对问题的数据进行了两次嵌套式迭代。

(6)   O(n3):表示对问题的数据进行了三次嵌套式迭代。

其他算法复杂度高的:O(2n)(指数),O(n!)(阶乘),O(nn)

在运到不同级别的复杂度时,去复杂度高的,如O(lg n)+O(n)的复杂度为O(n).

3.概率论与数理统计基础(数据分布情况)

(1)二项分布:表示n个独立的是与非实验中成功的次数离散概率分布情况,每次的成功或者失败试验杯成为伯努利分布。

(2)超几何分布:

(3)泊松分布

(4)指数分布

(5)正态分布:又称高斯分布。

  先验概率 条件概率 联合概率

4.距离计算

距离和概率是机器学习算法中最核心的数值,是表达信息异同相似的数值体现。

(1)   欧氏距离:指在m维空间中两个点之间的真实距离,或者向量的自然长度。

缺点:将数据的特征进行独立的计算,且差别是等同的。这导致部分现实问题无法通过欧式距离计算获得。

(2)   马氏距离:由印度统计学家马哈拉诺比斯提出的一种表示协方差的概念。

(3)   哈尔曼距离:

 

(4)   切比雪夫距离

 

 

(5)   闵氏距离

 

(6)   海明距离:在信息论中,两个等长字符串之间的海明距离时两个字符串对象位置的不同字符的个数。

5.排序算法

(1)快速排序

     

(2)归并排序

 

(3)堆排序

 

(4)基数排序

 

(5)外排序

6.字符压缩编码

目的:在于将出现频率较高的字符用短码表示,而对于很少出现的字符用较长编码表示,从而提升字符在某些领域的负荷。

(1)   哈夫曼编码

哈夫曼编码可以对词语进行数字化。根据词语可以进行哈夫曼编码处理,以减少词语集合的表示大小。哈夫曼编码是一种无损数据压缩的权编码算法,它的思想是通过变长编码的方式对原始数据进行编码,权值较高的词语具有较短的编码,低的为较长编码。,是整个数据在网络的平均传输长度变短,从而达到无损压缩数据的目的。

(2)   香农-范诺编码

阅读全文
0 0
原创粉丝点击