- 博客(296)
- 资源 (12)
- 收藏
- 关注

原创 博客备份工具BlogDown 软件使用感想
最近在找博客备份相关的工具,看到了一个不错的博客备份工具BlogDown。使用博客备份BlogDown工具是可以制作博客电子书的。他支持导出多种文件格式,包括常用的电子书格式chm,还有word格式doc而且他导出的文件中包含博客中的图片,无用联网,是真正的博客图片备份,不是只备份图片地址。对于我们这些博客爱好者来说是很好的工具,对于文章的收藏也很方便。在博客爱好者中,刚开
2012-11-10 16:27:05
3210
原创 文档保存和修改: 如何在试图的标题中显示一个“修改过”的指示符 星号*,与某个“修改过”的文档关联?
这个问题的一般解决方案可以像“3.20如何定制视图的标题?”中的说明一样来实现。如果所要希望的只是显示一个简单的“修改过”指示符。例如:某个“有改动的”文档标题中的一个‘*’,那么只需要简单的重载CDocument::SetModifiedFlag()函数,无论什么时候改变文档对象时,都可以调用该函数。 我们可以安全的重载SetModified(),因为在CDocument类中该函数
2013-03-13 00:13:15
3031
1
原创 C++编程规范---第10章 类的继承与组合
对象(Object)是类(Class)的一个实例(Instance)。如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象设计的重点是类的设计,而不是对象的设计。对于C++程序而言,设计孤立的类是比较容易的,难的是正确设计基类及其派生类。本章仅仅论述“继承”(Inheritance)和“组合”(Composition)的概念。注意,当前面向对象技术的应用热点是COM和CORBA,这些
2012-11-18 11:31:17
2378
1
原创 C++编程规范---第11章 其它编程经验
11.1 使用const提高函数的健壮性看到const关键字,C++程序员首先想到的可能是const常量。这可不是良好的条件反射。如果只知道用const定义常量,那么相当于把火药仅用于制作鞭炮。const更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const是constant的缩写,“恒定不变”的意思。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健
2012-11-18 11:30:31
2363
原创 遗传算法入门
遗传算法入门 遗传算法遗传算法(Genetic Algorithm, GA)是近几年发展起来的一种崭新的全局优化算法。1962年霍兰德(Holland)教授首次提出了GA算法的思想,它借用了仿真生物遗传学和自然选择机理,通过自然选择、遗传、变异等作用机制,实现各个个体的适应性的提高。从某种程度上说遗传算法
2012-11-18 11:24:10
3028
原创 堆排序
1、 堆排序定义 n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质): (1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ ) 若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。
2012-11-18 11:23:47
2177
原创 银行家算法
算法的实现 一、初始化由用户输入数据,分别对可利用资源向量矩阵AVAILABLE、最大需求矩阵MAX、分配矩阵ALLOCATION、需求矩阵NEED赋值。 二、银行家算法在避免死锁的方法中,所施加的限制条件较弱,有可能获得令人满意的系统性能。在该方法中把系统的状态分为安全状态和不安全状态,只要能使系统始终都处于安全状态,便可以避免发生死锁。银行家算法的基
2012-11-18 11:23:22
2929
原创 多重背包O(N*V)算法详解(使用单调队列)
多重背包O(N*V)算法详解(使用单调队列) 多重背包问题:有N种物品和容量为V的背包,若第i种物品,容量为v[i],价值为w[i],共有n[i]件。怎样装才能使背包内的物品总价值最大? 网上关于“多重背包”的资料倒是不少,但是关于怎么实现O(N*V)算法的资料,真得好少呀,关于“单调队列”那部分算法,又没说明得很清楚,看了几遍没看懂原理,只好自己动脑去想怎么实现O(N*V)算
2012-11-18 11:22:42
2383
原创 CListCtrl控件列表控件使用大全
创建图形列表并和CListCtrl关联:m_image_list.Create(IDB_CALLER2, 16, 10, RGB(192,192, 192));m_image_list.SetBkColor( GetSysColor( COLOR_WINDOW ) );m_caller_list.SetImageList( &m_image_list, LVSIL_SMALL);为
2012-11-18 11:20:25
2951
原创 C++之构造函数
1.功能:创建(build objects)对象,将一连串的随意的内存位变对象,也分配资源(memory, files, semaphores, sockets等),"ctor" 是构造函数(constructor)典型的缩写。2.假定List是个类名,List x和 List x()的区别:前者声明了一个List对象,后者则是一个函数,返回List类型。3.能否在一个构造函数中调用另一个
2012-11-18 11:17:47
2196
原创 二叉树遍历算法集合(前中后序遍历的递归和非递归算法,层序遍历算法)
二叉树遍历算法集合(前中后序遍历的递归和非递归算法,层序遍历算法)费了两天时间写的,包括前中后序遍历的递归和非递归算法,还有层序遍历总共2*3 + 1 = 7中遍历二叉树的算法,感觉其中后序遍历的非递归算法比较困难,想了很久最后的实现还是不够优雅,请大家指正~~总共三个文件,一个头文件,一个对应的cpp文件,还有一个用于测试的文件.头文件:/**********
2012-11-18 11:14:15
2172
原创 stl的算法(一):对序列进行只读操作(查找、搜索等)
stl的算法(一):对序列进行只读操作(查找、搜索等)Stl的算法的不更改序列操作主要有以下12项:for_each、find、find_if、find_end、find_first_of、adjacent_findcount、count_if、mismatch、equal、search、search_n1、 for_each:遍历某个区域内每个元素原型:templat
2012-11-18 11:13:38
2028
原创 STL算法(Algorithms):排序
一、sort:对一定范围内的所有元素排序原型:template void sort ( RandomAccessIterator first, RandomAccessIterator last );template void sort ( RandomAccessIterator first, RandomAccessIterator last, Compare co
2012-11-18 11:12:47
2287
原创 STL算法(Algorithms):极值
STL算法(Algorithms):极值1、min:返回两个两个参数中的最小值原型:template const T& min ( const T& a, const T& b );template const T& min ( const T& a, const T& b, Compare comp );示例:// min example#include
2012-11-18 11:12:24
2267
原创 STL算法(Algorithms):堆(heap)
1、make_heap:使序列变成堆原型:template void make_heap ( RandomAccessIterator first, RandomAccessIterator last );template void make_heap ( RandomAccessIterator first, RandomAccessIterator last,
2012-11-18 11:12:01
2186
原创 STL算法(Algorithms):修改操作(拷贝、替换等)
Stl的函数对象的写操作:copy、copy_backward、swap、swap_ranges、iter_swap、transform、replace、replace_if、replace_copy、replace_copy_if、fill、fill_n、generate、generate_n、remove、remove_if、remove_copy、remove_copy_if、
2012-11-18 11:11:39
2180
原创 STL算法(Algorithms):合并(Merge)
1、merge:将两个序列合并成一个新的序列,并对新的序列排序原型:template OutputIterator merge ( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2,OutputItera
2012-11-18 11:08:42
2927
原创 SVM入门
SVM入门(一)至(三)Refresh按:之前的文章重新汇编一下,修改了一些错误和不当的说法,一起复习,然后继续SVM之旅.(一)SVM的简介支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。 支持
2012-11-18 11:07:21
2258
1
原创 CString常用方法解释举例 CString详解
1.CString::IsEmptyBOOL IsEmpty( ) const;返回值:如果CString 对象的长度为0,则返回非零值;否则返回0。说明:此成员函数用来测试一个CString 对象是否是空的。示例:下面的例子说明了如何使用CString::IsEmpty。// CString::IsEmpty 示例
2012-11-18 11:06:57
3137
原创 CString/String/int/wchar/char类型相转 CString各种类型相互转换小结
1.头文件中要定义宏; #define UNICODE #define _UNICODE 2.char转换成wchar const char *pFilePathName = "c:\\aa.dll"; int nLen = strlen(pFilePathName) + 1;
2012-11-18 10:50:46
2440
原创 KMP字符串模式匹配详解
KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一. 简单匹配算法先来看一个简单匹配算法的函数:int Index_BF ( char S [ ], char T [ ], int pos ){/* 若串 S 中从第pos(S 的下标0≤pos起存在和
2012-11-18 10:47:32
1930
原创 MD5算法的C++实现
1. IntroductionMD5算法是一种消息摘要算法(Message Digest Algorithm),此算法以任意长度的信息(message)作为输入进行计算,产生一个128-bit(16-byte)的指纹或报文摘要(fingerprint or message digest)。两个不同的message产生相同message digest的几率相当小,从一个给定的messag
2012-11-18 10:46:39
458
原创 数据挖掘算法-Apriori Algorithm(关联规则)
本人刚开始学数据挖掘,虽然之前看过一本《数据挖掘原理与应用:SQL Server 2005数据库》,但是只是大体上了解了一些数据挖掘的概念,并没有深入去了解一个算法。前段时间开始比较深入的学习,就以关联规则作为学习的入口点。这 才有了这篇文章。 Apriori algorithm是关联规则里一项基本算法。是由Rakesh Agrawal和Ramakrishnan Srikant两位博士在
2012-11-10 16:11:07
940
原创 机器学习中的算法(2)-支持向量机(SVM)基础
关于SVM的论文、书籍都非常的多,引用强哥的话“SVM是让应用数学家真正得到应用的一种算法”。SVM对于大部分的普通人来说,要完全理解其中的数学是非常困难的,所以要让这些普通人理解,得要把里面的数学知识用简单的语言去讲解才行。而且想明白了这些数学,对学习其他的内容也是大有裨益的。我就是属于绝大多数的普通人,为了看明白SVM,看了不少的资料,这里把我的心得分享分享。 其实现在能够找到的
2012-11-10 16:08:57
456
原创 最短路径算法——Dijkstra算法
最短路径算法——Dijkstra算法 Dijkstra 算法在刚开始在学数据结构的时候,完全没弄明白,主要是也不怎么想去弄明白。而从学校出来到现在,最短路径算法都没有实际运用过,最近在一个GIS项目中总算用到了,于是乎把教材重温了下,同时查阅了网上一些资料,借鉴了一些别人的东西,并顺利用写进了项目中,文中的主要代码来自于园子里的一位大哥,这位大哥对通用框架的研究很深入,他的链接为
2012-11-10 16:07:31
572
原创 贪婪算法
本章首先引入最优化的概念,然后介绍一种直观的问题求解方法:贪婪算法。最后,应用该算法给出货箱装船问题、背包问题、拓扑排序问题、二分覆盖问题、最短路径问题、最小代价生成树等问题的求解方案。1.1 最优化问题 本章及后续章节中的许多例子都是最优化问题( optimization problem),每个最优化问题都包含一组限制条件( c o n s t r a i n t)和一个优
2012-11-10 16:06:55
907
转载 全排列
全排列是将一组数按一定顺序进行排列,如果这组数有n个,那么全排列数为n!个。现以{1, 2, 3, 4, 5}为例说明如何编写全排列的递归算法。1、首先看最后两个数4, 5。 它们的全排列为4 5和5 4, 即以4开头的5的全排列和以5开头的4的全排列。由于一个数的全排列就是其本身,从而得到以上结果。2、再看后三个数3, 4, 5。它们的全排列为3 4 5、3 5 4、 4 3
2012-11-10 16:06:07
382
原创 DES算法介绍
一.DES算法介绍DES( Data Encryption Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。虽然56位密钥的DES算法已经风光不在,而且常有用Des加密的明文被破译的报道,但是了解一下昔日美国的标准加密算法总是有益的,而且目前DES算法得到了广泛的应用,在某些场合,她仍然发挥着余热^_^. 1.1 密钥生成
2012-11-10 16:05:39
1410
1
原创 Cyclic Redundancy Check循环冗余检验
Cyclic Redundancy Check循环冗余检验,是基于数据计算一组效验码,用于核对数据传输过程中是否被更改或传输错误。算法原理假设数据传输过程中需要发送15位的二进制信息g=101001110100001,这串二进制码可表示为代数多项式g(x) = x^14 + x^12 + x^9 + x^8 + x^7 + x^5 + 1,其中g中第k位的值,对应g(x)中x^k的系数。将
2012-11-10 16:04:40
802
原创 动态规划
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能
2012-11-10 16:03:50
431
原创 微软的22道数据结构算法面试题
1、反转一个链表。循环算法。 1 List reverse(List l) { 2 if(!l) return l; 3 list cur = l.next; 4 list pre = l; 5 list
2012-11-10 16:01:44
442
原创 模拟退火算法
一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜
2012-11-10 16:00:43
526
原创 传算法 ( GA , Genetic Algorithm ) ,也称进化算法
遗传算法 ( GA , Genetic Algorithm ) ,也称进化算法 。 遗传算法是受达尔文的进化论的启发,借鉴生物进化过程而提出的一种启发式搜索算法。因此在介绍遗传算法前有必要简单的介绍生物进化知识。 一.进化论知识 作为遗传算法生物背景的介绍,下面内容了解即可: 种群(Population):生物的进化以群体的形式进行,这样的一个群体称
2012-11-10 15:59:31
2267
原创 socket编程原理
socket编程原理 socket编程原理 1 问题的引入 UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然后这个用
2012-11-10 15:52:21
513
原创 c语言socket编程指南
介绍 Socket 编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 connect() 前的bind() 的结构而不知所措?等等… 好在我已经将这些事完成了,我将和所有人共享我的知识了。如果你了解 C 语言并想穿过网络编程的沼泽,那么你来对地方了。 --------------------------
2012-11-10 15:51:08
1189
原创 Socket编程简单入门
对 TCP/IP 、 UDP 、 Socket 编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是 TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP?TCP/IP(Transmission Control Protocol/Internet
2012-11-10 15:49:12
805
原创 VC操作INI文件 ,INI文件操作总结,如何操作INI文件,INI文件使用方法小结
INI文件简介在我们写程序时,总有一些配置信息需要保存下来,以便在下一次启动程序完成初始化,这实际上是一种类持久化。将一些信息写入INI文件(initialization file)中,可完成简单的持久化支持。Windows提供了API接口用于操作INI文件,其支持的IN
2011-09-18 13:02:54
8325
原创 CString的GetBuffer用法,GetBuffer本质,GetBuffer常见问题解决方法
一.函数原型CString::GetBuffer LPTSTR GetBuffer( int nMinBufLength );throw( CMemoryException );Return ValueAn LPTSTR pointer to the obje
2011-09-18 12:48:58
65960
3
原创 DLL中传递STL参数,vector对象作为dll参数传递等问题
STL跨平台调用会出现很多异常,你可以试试.STL使用模板生成,当我们使用模板的时候,每一个EXE,和DLL都在编译器产生了自己的代码,导致模板所使用的静态成员不同步,所以出现数据传递的各种问题,下面是详细解释。原因分析:一句话-----如果任何STL类使用了
2011-09-17 23:45:42
7810
原创 CString string CStringA CStringW string wstring 等字符串转换汇总
<br />#include <atlconv.h><br /><br />CString a;<br />CStringA a1;<br />CStringW a2;<br />string b;<br />wstring c;<br /><br /><br />a=CA2T(b.c_str());//b->a<br />b=CT2A((LPCTSTR)a);//a->b<br />a=b.c_str();//c->a<br />b=(LPCTSTR)a;//a->c<br /><br />a1=b.c_
2011-05-24 01:23:00
3435
asp+access简单例子,asp操作access数据库的例子
2013-04-07
《Visual C++游戏编程导学》全书源代码
2013-04-06
(c/c++)遗传算法SGA程序
2012-12-03
最简单的JSF程序,用于学习JSF
2009-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人