自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 文章标题

1. 数组 3 2. 字符串 4 3. STL 9 3.1、 参考资料 9 3.2、 容器概览 9 3.3、 通用容器的分类 9 3.4、 通用容器介绍 10 3.5、 容器使用 12 3.5.1 array 12 3.5.2 vector 14 3.5.3 list 17 3.5.4 deq

2016-01-06 21:31:50 611

转载 C++ 引用

C++中引用(&)的用法和应用实例http://www.cnblogs.com/Mr-xu/archive/2012/08/07/2626973.html对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的

2016-01-05 23:45:35 452

原创 Github

教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b0001. Git(1) 安装sudo apt-get install git(2) 创建版本库repositorymkdir repository_namegit

2015-11-15 19:32:01 425

原创 单词翻转

//将一句话翻转// I am a student--> student a am I //先每个单词翻转,再整句话翻转 1 #include 2 #include 3 using namespace std; 4 5 class InvertWords{ 6 public: 7 InvertWords(string* wo):words(wo){} 8

2015-11-15 16:56:07 394

原创 KMP算法

KMP算法,是由Knuth,Morris,Pratt共同提出的模式匹配算法,其对于任何模式和目标序列,都可以在线性时间内完成匹配查找,而不会发生退化,是一个非常优秀的模式匹配算法。但是相较于其他模式匹配算法,该算法晦涩难懂,第一次接触该算法的读者往往会看得一头雾水,主要原因是KMP算法在构造跳转表next过程中进行了多个层面的优化和抽象,使得KMP算法进行模式匹配的原理显得不那么直白。本文希望能够

2015-11-15 16:54:55 296

原创 Rabin-Karp算法

Rabin-Karp算法在字符串匹配中其实也不算是很常用,但它的实用性还是不错的,除非你的运气特别差,最坏情况下可能会需要O((n-m)*m)的运行时间(关于n,m的意义请看上篇)。平均情况下,还是比较好的。朴素的字符串匹配算法为什么慢? 因为它太健忘了,前一次匹配的信息其实可以有部分可以应用到后一次匹配中的,而朴素的字符串匹配算法只是简单的把这个信息扔掉,从头再来,因此,浪费了时间。好好的利

2015-11-15 16:54:13 500

原创 BM算法

1977年,Robert S.Boyer和J Strother Moore提出了另一种在O(n)时间复杂度内,完成字符串匹配的算法,其在绝大多数场合的性能表现,比KMP算法还要出色,下面我们就来详细了解一下这一出色的单模式匹配算法,在此之前推荐读者读一下我的另一篇文章《KMP算法详解》,对于透彻理解BM算法大有裨益。在讲解Boyer-Moore算法之前,我们还是要提一提KMP算法的老例子,当模

2015-11-15 16:53:50 351

原创 判断链表相交、环

编程判断俩个链表是否相交给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。为了简化问题,我们假设俩个链表均不带环。问题扩展:1.如果链表可能有环列?2.如果需要求出俩个链表相交的第一个节点列?以下是算法实现部分:如何判断一个单链

2015-11-15 16:52:17 506

原创 DRM原理

DRM技术的工作原理是,首先建立数字节目授权中心。编码压缩后的数字节目内容,可以利用密钥(Key)进行加密保护(lock),加密的数字节目头部存放着KeyID和节目授权中心的URL。用户在点播时,根据节目头部的KeyID和URL信息,就可以通过数字节目授权中心的验证授权后送出相关的密钥解密(unlock),节目方可播放。  需要保护的节目被加密,即使被用户下载保存,没有得到数字节目授权

2015-11-15 16:51:38 2389

原创 老鼠毒药问题

大家应该都听说过这个老题目:有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?    这个问题的答案也堪称经典:把瓶子从 0 到 999 依次编号,然后全部转换为 10 位二进制数。让第一只老鼠喝掉所有二进制数右起第一位是 1 的瓶子,让第二只老鼠喝掉所有二

2015-11-15 16:50:54 680

原创 猴子搬香蕉问题

一只猴子旁边有100跟香蕉 猴子距离家50米 猴子一次顶多搬50跟香蕉 但猴子每走一米就要吃掉一根香蕉 问猴子最多能拿多少根香蕉回家?16根。应注意往回走时,也吃香蕉。先拿50根,走一米放下,拿一根往回走,再取剩下的50根,与原来的放在一起,拿 50根走一米,放下,拿一根往回走,再取剩下的47根,与原来的放在一起,拿50根走一米,放下,拿一根往回走,再取剩下的44根,与..

2015-11-15 16:50:20 1084

原创 memmove,memcopy区别和实现

memcpy是把source   指向的对象中的n个字符拷贝到destin所指向的对象中,返回指向结果对象的指针。       memmove也是把source   指向的对象中的n个字符拷贝到destin所指向的对象中,但过程就好象是先把source所指向的 对象拷贝到临时数组中,然后在从临时数组拷贝到destin所指的对象中,返回指向结果对象的指针。       但要注意,除memmo

2015-11-15 16:49:34 449

原创 编程珠玑题目集锦

1. 10^n个整数(亿级)的排序输入:一个最多含有n个不重复的正整数(也就是说可能含有少于n个不重复正整数)的文件,其中每个数都小于等于n,且n=10^7。输出:得到按从小到大升序排列的包含所有输入的整数的列表。《编程珠玑》中提出的问题,有三种解法:(1)磁盘合并排序先将所有数据分成多个小文件,多个小文件采用内部排序后,再用多路合并排序完成排序输出。       

2015-11-15 16:48:41 956

原创 10^n个整数(亿级)的排序

输入:一个最多含有n个不重复的正整数(也就是说可能含有少于n个不重复正整数)的文件,其中每个数都小于等于n,且n=10^7。输出:得到按从小到大升序排列的包含所有输入的整数的列表。《编程珠玑》中提出的问题,有三种解法:(1)磁盘合并排序先将所有数据分成多个小文件,多个小文件采用内部排序后,再用多路合并排序完成排序输出。        总数据为n, 内存中采用内部排序最多m。先分

2015-11-15 16:48:00 534

原创 经典计算机书籍总结

C/C++:《C程序设计语言》http://book.douban.com/subject/1139336/《C Primer Plus》http://book.douban.com/subject/1319751/《C陷阱与缺陷》http://book.douban.com/subject/2778632/《C与指针》http://book.douban.com/subject/

2015-11-15 16:46:34 433

原创 经典计算机书籍 本科

算法导论(第2版)代码大全(第2版)C++ Primer中文版(第4版)设计模式:可复用面向对象软件的基础浪潮之巅Java编程思想(第4版)Java核心技术 卷1:基础知识Java核心技术 卷2:高级特性人月神话Linux内核编程C程序设计语言(第2版新版)黑客与画家:硅谷创业之父Paul Graham文集编程之美:微软技术面试心得代码之美软件随想录:程序员部落酋长Joel谈软件架构之美国外计算机

2015-11-15 16:45:31 474

原创 ACM题目分类总结及pku题目分类

主流算法:? 1.搜索 //回溯? 2.DP(动态规划) ? 3.贪心 ? 4.图论 //Dijkstra、最小生成树、网络流? 5.数论 //解模线性方程? 6.计算几何 //凸壳、同等安置矩形的并的面积与周长? 7.组合数学 //Polya定理? 8.模拟 ? 9.数据结构 //并查集、

2015-11-15 16:44:28 428

原创 排序算法

给出含有n个元素的数组array[n],对其进行排序(排列成从小到大)。对于每一个算法,需要给出 代码、算法复杂度、空间复杂度、是否稳定。1.插入排序void insert_sort(int *array, int n){for(int j=1;jint i=j-1;int key=a[j];while(i>=0 && a[i]>key){a[i+1]=a[

2015-11-15 16:43:24 405

原创 回溯算法

回溯法其实也是一种搜索算法,它可以方便的搜索解空间。 回溯法解题通常可以从以下三步入手: 1、针对问题,定义解空间 2、确定易于搜索的解空间结构 3、以深度优先的方式搜索解空间,并在搜索的过程中进行剪枝 回溯法通常在解空间树上进行搜索,而解空间树通常有子集树和排列树。 针对这两个问题,算法的框架基本如下: 用回溯法搜索子集合树的一般框架:Cpp代码void

2015-11-15 16:41:44 412

原创 数据库设计范式

关系数据库设计之时是要遵守一定的规则的。尤其是数据库设计范式 现简单介绍1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介绍。 在你设计数据库之时,若能符合这几个范式,你就是数据库设计的高手。第一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值 都是不可再分的最小数据单位,则称R是第一范式的关系。例:如职工号,姓名

2015-11-15 16:40:09 403

原创 平面最近点对

求点集中的最近点对有以下两种方法:设p1=(x1, y1), p2=(x2, y2), …, pn=(xn, yn)是平面上n个点构成的集合S,设计算法找出集合S中距离最近的点对。1、蛮力法(适用于点的数目比较小的情况下)1)算法描述:已知集合S中有n个点,一共可以组成n(n-1)/2对点对,蛮力法就是对这n(n-1)/2对点对逐对进行距离计算,通过循环求得点集中的最近点对:

2015-11-15 16:39:18 617

原创 Struct对齐

一、struct对齐方式三原则:a). struct变量的起始地址应该是struct中最宽基本类型元素大小的整数倍b). 每个元素相对于起始位置的偏移量应该是本元素自身大小的整数倍c). struct变量整体的大小应该是struct中最宽基本类型元素大小的整数倍* 注意:这里所说的都是基本类型元素的大小,所以如果有struct的嵌套,则相当于取里层struct的最宽基本类型

2015-11-15 16:38:34 517

转载 Trie树|字典树的简介及实现(转)

Trie,又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。相对来说,Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Trie树的内存消耗非常大.当然,或许用左儿子右兄弟的方法建树的话,可能会好点.其基本性质可以归纳为:1. 根节点不包含字符,除根节点外每一个节点都

2015-11-15 16:37:30 362

原创 strcpy()、memcpy()、memmove()、memset()的实现

strcpy(), 字符串拷贝.char *strcpy(char *strDest, const char *strSrc){ assert((strDest!=NULL) && (strSrc !=NULL)); char *address = strDest;  while( (*strDest++ = * strSrc++) != '\0')   NULL ; 

2015-11-15 16:36:38 287

原创 C++正则表达式处理Boost库使用

http://www.wuzesheng.com/?p=965写在前面:本文是《深入浅出C/C++中的正则表达式库》系列的第二篇,如果对本文感兴趣,相信你也会对《深入浅出C/C++中的正则表达式库——GNU Regex Library》感兴趣。本文主要介绍Boost中的正则表达式库,通过介绍其基本内容与相关接口,希望能够教读者朋友学会如何使用该库。1. 什么是Boost.Regex? 

2015-11-15 16:33:41 2837

原创 生成N个随机数,和为1

算法如下:先随机生成N-1个随机0-1小数 (x1,x2,x3......), 从小到大排序然后 结果1=x1结果2=x2-x1......以此类推结果n = 1 - x(n-1)这个问题可以理解为 长度为1 的钢筋, 要求随机分成n-1份随机生成分割点即可.

2015-11-15 16:31:27 3162 2

原创 Mac 环境变量配置

vi ~/.bash_profile添加:export PATH=$PATH$:/usr/bin

2015-11-15 16:22:38 398

原创 CRF++

1. 简述    最近要应用CRF模型,进行序列识别。选用了CRF++工具包,具体来说是在VS2008的C#环境下,使用CRF++的windows版本。本文总结一下了解到的和CRF++工具包相关的信息。    参考资料是CRF++的官方网站:CRF++: Yet Another CRF toolkit,网上的很多关于CRF++的博文就是这篇文章的全部或者部分的翻译,本文也翻译了一些。2

2015-11-15 16:19:40 519

原创 数据挖掘十大经典算法

国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART.它们在数据挖掘领域都产生了极为深远的影响。

2015-11-15 16:12:00 368

原创 Deep Learning Study Materials

1. Deep Learning Materials:          http://deeplearning.net/          http://ufldl.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B2. Deep Learning Tool:          Keras: http://ker

2015-11-15 16:04:11 434

原创 Keras 深度学习框架Python Example:CNN/mnist

Keras是基于Theano的一个深度学习框架,它的设计参考了Torch,用Python语言编写,是一个高度模块化的神经网络库,支持GPU和CPU。

2015-11-15 15:39:19 12293 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除