c/c++
windroid
这个作者很懒,什么都没留下…
展开
-
KMP代码及思路解析
首先推荐这篇KMP思想的介绍:字符串匹配的KMP算法 KMP代码的关键是: 1、得到搜索串每个字符的匹配值 2、当字符匹配失败时的转移 (搜索串指搜索目标串。) 1: 第一个循环:遍历每个字符,表示搜索的是 该字符及之前所有字符组成的串。 第二个循环:遍历所有长度的子串。 第三个循环:比较子串是否相同。 搜索的目标是:所有相同的子串中最长字串的长度。所以维护一原创 2015-04-12 21:00:25 · 830 阅读 · 0 评论 -
大整数运算---模拟笔算
/* *m=a[k]×10k-1+a[k-1]×10k-2+….+a[2]×10+a[1] *其中a[0]保存该长整数的位数。 * *模拟笔算 */ #include #include using namespace std; #define SIZE 255 void getl(char* n);//获取长整数 void prt(char* n);//打印长整数 int cmp(char* n原创 2015-04-08 14:33:30 · 721 阅读 · 0 评论 -
使用select进行 阻塞式/低CPU消耗 延时
select函数本是被用作检测系统文件描述符的状态int threadDelay(const int sec, const int usec){ timeval tv; tv.tv_sec = sec; tv.tv_usec = usec; if (0 != select(0, NULL, NULL, NULL, &tv)){ return -1;原创 2017-11-01 21:11:00 · 1898 阅读 · 0 评论 -
LZW编码解码cpp实现
算法过程: 1:将词典初始化为包含所有可能的单字符,当前前缀P初始化为空。 2:当前字符 C=字符流中的下一个字符。 3:判断 P+C 是否在词典中 (1) 如果“是”,则用C扩展P,即让P=P+C,返回步骤2 (2) 如果“否”,则: 输出与当前前缀P相对应的码字W; 将P+C添加到词典中; 令P=C,...原创 2018-05-23 14:12:01 · 1136 阅读 · 0 评论 -
PCA算法cpp实现
PCA过程: 零均值化 求协方差 求特征值及特征向量 按特征值大小排序特征向量 取前k行组成变换矩阵 使用变换矩阵即可进行降维或还原 测试数据集(68040*32):CorelFeatures-mld/ColorHistogram.asc #include <iostream> #include <math.h> #include <string.h>...原创 2018-05-24 22:57:29 · 401 阅读 · 1 评论 -
k-means算法cpp实现
k-means过程: 从数据集中随机选取k个点作为初始center 迭代(直到一定次数或迭代前后无变化): 计算每个向量最近的center,将其归为该类 计算每一类向量的质心,作为新的center 在此使用欧氏距离 测试数据集(68040*32):CorelFeatures-mld/ColorHistogram.asc #include <iostream> #inclu...原创 2018-05-24 23:05:03 · 493 阅读 · 0 评论