由之前对核函数的定义(见统计学习方法定义7.6):
设χ是输入空间(欧氏空间或离散集合),Η为特征空间(希尔伯特空间),如果存在一个从χ到Η的映射
φ(x): χ→Η
使得对所有的x,z∈χ,函数Κ(x,z)=φ(x)?φ(z),
则称Κ(x,z)为核函数,φ(x)为映射函数,φ(x)?φ(z)为x,z映射到特征空间上的内积。
由于映射函数十分复杂难以计算,在实际中,通常都是使用核函数...
分类:
其他好文 时间:
2016-03-29 10:57:41
阅读次数:
248
七个基础排序算法(均为内部排序):
直接插入排序
希尔排序
冒泡排序
简单选择排序
快速排序
堆排序
二路归并排序排序算法稳定性:经过排序后,具有相同关键码的元素之间的相对次序保持不变,则称该排序方法是稳定的;否则不稳定。直接插入排序:void InsertSort(int a[],int n){ // index start at 1, a[0] is temp one
i...
分类:
编程语言 时间:
2016-03-28 00:15:58
阅读次数:
189
排序方法 平均情况 最好情况 最坏情况 辅助空间 稳定性 冒泡排序 O(n^2) O(n) O(n^2) O(1) 稳定 选择排序 O(n^2) O(n^2) O(n^2) O(1) 不稳定 插入排序 O(n^2) O(n) O(n^2) O(1) 稳定 希尔排序O(n*log(n))~O(n^2) ...
分类:
编程语言 时间:
2016-03-27 01:28:20
阅读次数:
155
插入排序:直接插入,希尔排序选择排序:选择排序,堆排序交换排序:冒泡排序,快速排序归并排序:归并排序#include<iostream>
#include<assert.h>
usingnamespacestd;
voidInsertSort(int*arr,size_tsize)
{
assert(arr);
for(inti=0;i<size-1;++i)
{
int..
分类:
编程语言 时间:
2016-03-26 08:58:47
阅读次数:
184
“Hill的加密与解密”Hill加密是另一种多字母代替密码,与多表代替密码不同的是,Hill密码要求将明文分成同等规模的若干个分组(最后一个分组涉及到填充),每一个分组被整体的加密代换,即希尔密码属于分组加密。Hill密码的算法思想是:将一个分组中的d个连续的明文字母通过线..
分类:
编程语言 时间:
2016-03-26 08:27:05
阅读次数:
273
趁着有时间把学习过的排序算法又实现了一遍复习一下,实现的排序算法主要有以下几种:冒泡排序、快速排序,选择排序,堆排序,插入排序,合并排序,希尔排序,桶排序等。 下面是网上找的一张图片,总结了常见排序算法的时间复杂度、空间复杂度以及稳定性,可以参考一下。 下面排序的都是vector<int>,懒得写模
分类:
编程语言 时间:
2016-03-21 01:40:06
阅读次数:
336
希尔排序是1959 年由D.L.Shell 提出来的,相对直接排序有较大的改进。希尔排序又叫缩小增量排序 基本思想: 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。 操作方法: 希尔排序的示例: 算法实现: 单处理
分类:
编程语言 时间:
2016-03-18 19:44:05
阅读次数:
192
原理将排序数组分成若干个子序列(这个取决于最初设定的步长值),然后对各个子序列之间进行直接插入排序,最后再缩小增量(即步长值)再进行插入排序,直到序列顺序基本稳定(步长足够小)时,对这种序列进行一次直接插入排序,在排序状况较好时,直接插入排序的效率还是挺高..
分类:
编程语言 时间:
2016-03-16 01:27:58
阅读次数:
181
原理将排序数组分成若干个子序列(这个取决于最初设定的步长值),然后对各个子序列之间进行直接插入排序,最后再缩小增量(即步长值)再进行插入排序,直到序列顺序基本稳定(步长足够小)时,对这种序列进行一次直接插入排序,在排序状况较好时,直接插入排序的效率还是挺高..
分类:
编程语言 时间:
2016-03-16 01:26:46
阅读次数:
195
public class ArraySh {
private long[] theArray;
private int nElems; public ArraySh(int max){
theArray=new long[max];
nElems=0;
} public void insert(long value){...
分类:
编程语言 时间:
2016-03-15 14:54:25
阅读次数:
206