自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 囧,这样也行……

<br /><br /><br />昨天和几个准备考研的同学聊到了MST,于是决定回去后重温一下经典之作:“Algorithms in C++ Part5: Graph Algorithms”。无奈看到Kruskal堆实现时间复杂度分析时,居然卡巴司机了。我怎么也觉得应该是E+XlgE而不是书上的E+XlgV。不过回过头来一想,Sedgewick大牛不会犯这种错误吧,而且我在书上也没有相关批注,说明以前在看到这里时是没有问题的。难道由于长期没碰算法变傻B了?<br />于是去

2010-11-05 00:04:00 600

原创 什么才叫真正的程序设计语言牛人?

<br />真正的语言牛人,狂热者,最近终于算见识了。群里经常看到有各种小朋友不厌其烦地问:学C++看哪本书比较好。看看下面这段引用吧:<br />The book is a strong reference for language purists (You know, those people on the newsgroups who quote from standards documents) or for someone implementing the STL (why?).<br />

2010-10-23 14:25:00 651

原创 二叉搜索树基本操作

<br /><br />左旋转:<br />左旋转要求当前节点的右子节点不为空。定义两个指针 x 、 y 分别指向当前节点及当前节点的右子节点。根据 x , y 进行下图所示变换(未带箭头的链为双向链):先处理 x 的右链,再处理 x 与 y 的链接。<br /><br /><br />之后的操作需要特别注意:<br />如果原 x 为树根,则变换后需要更新指向树根的入口指针为 y (可以考虑传引用);否则无需更新该指针,但需更新原 x 双亲节点的子节点链接为 y 。更新的时候需要注意是更新左子节点

2010-10-07 16:33:00 602

原创 并行快速排序

如果不是多核心计算机,那就算了吧......

2010-10-07 16:26:00 677

原创 红黑树的一个C实现

参考CLRS完成的实现

2010-10-07 16:15:00 567

原创 LSGTL 1.0.6发布

<br />Download at: http://sourceforge.net/projects/lsgtl/files/<br /><br />Release Note:<br />* Improved method label of DisjointSet.               <br />* Added an overload of function lcm to process ranges.<br />* Added function kmp.<br />* Rem

2010-07-10 15:54:00 507

原创 基础Back-Propagation算法总结

<br />

2010-07-08 18:52:00 1158

原创 River Crossing解题报告

<br />题目:http://acm.pku.edu.cn/JudgeOnline/problem?id=1718<br /> <br />      该题第一个需要考虑的便是收敛性问题,即是否有解(河岸(n+1)是否可达)。乍一看,这个问题似乎很难解决。想象一下用“万能”的暴力搜索法来解此题的情况,我们很可能在河岸0和河上的几个pole之间无限地递归搜索下去。目标甚至可以选择一直静止在河岸0上。这样的情形有点类似数学中“封闭”或“闭包”的概念:我们可以在闭包内无限循环,但永远也跳不出闭包的限制。类似地,

2010-07-04 22:09:00 651

原创 2010百度之星极其难得的AI资源数战平截图

      说明中谈到了如果资源数同时达到1000时怎么处理。不过这一节被我直接略过了,心想这种小概率事件不可能发生吧。不过在我的PFS版小三和BFS版小三的PK过程中,小概率事件居然真的出现了。而且由于Prototype系列都是没有引入随机因素的AI,该情况稳定出现= = 

2010-05-26 12:32:00 714

原创 Control What You Can Control

      We are not gods, we can not control everything.      We are individual persons. Though we can interact with other people around us and thus more or less affect their behaviours, what they thin

2010-05-12 22:38:00 943

原创 LSGTL 1.0.5发布

http://lsgtl.sourceforge.net/Release Note:Ver. 1.0.5 (5/2010)------------------------------* Updated method operator= of Vector to process self-assignment more efficiently* Introduced Se

2010-05-05 19:16:00 456

原创 自己实现的一个高效快速排序: )

      最近准备把基础算法都高效地实现一遍,放入BaseAlgo.h中。大概LSGTL 1.05中会包含这个新的头文件吧。现在LSGTL已经越来越偏离纯粹的图算法库了,或许到1.05的时候都已经不再叫LSGTL了吧: ) 下面是和VC++ 9.0的std::sort的一个简单时间效率对比:5百万随机数据:quickSort 609msstd::sort 750ms5百万

2010-04-14 19:45:00 617

原创 CDynamicParameterAccessor避免内存泄漏的使用方法

      由于ATL OLE DB基于方便性和效率上的考虑,并未遵循“谁申请,谁释放”的内存管理原则[1],因此在使用过程中应特别小心,否则就可能出现内存泄漏。下面讨论CDynamicParameterAccessor的使用。对于该类的使用,稍有不慎就会导致内存泄漏。      文章[2]中提到了CDynamicParameterAccessor的一种可能内存泄漏使用情形。对于该问题,除了可

2010-04-10 16:25:00 1038 1

原创 CMultipleResults的使用

      CMultipleResults顾名思义,即多结果的意思。那么什么时候会出现多结果呢?考虑这样的语句command.Open(session, "SELECT Name FROM Students SELECT Degree FROM Lovers");该语句一次性执行了两条SQL查询命令,返回的结果自然有两个咯。CCommand的第三个模板参数TMultiple就用于决定对多结果的支

2010-04-09 19:37:00 729

原创 CCommand的资源管理方式

      最近通过对ATL OLE DB源代码的进一步阅读,在验证了一些猜想的同时也发现了之前对CCommand资源管理方式的某些错误认识。这些认识上的错误可能隐式或显示地反映在了之前的相关博文中。为什么我会产生错误的认识呢?原因是我低估了CCommand的封装程度-_-!!!现将发现总结如下:1、若CCommand使用CAccessor,则在绑定返回结果时(调用Bind方法)会首先调用me

2010-04-08 00:14:00 950

原创 计算列相关问题的讨论

      所谓计算列,即其值不是独立指定的,而是由其余列值计算出来的列。比如平均成绩就是一个典型的计算列。下面简单讨论下使用计算列过程中所需注意的一些问题。环境:SQL Server 2000,VC++ 2008 SP1,ATL OLE DB。      计算列可能在两种不同的情形中出现:一是出现在CREATE TABLE时列的定义里,一是出现在SELECT语句中。先讨论第一种情形。  

2010-04-07 11:44:00 835

原创 CDynamicAccessor的应用

     一直以来CAccessor都用得挺好,但今天突然遭遇到CAccessor的局限性了。不过好在发现了CDynamicAccessor这东西,用它解决了问题。     MSDN上说当你对目标数据源的结构,比如表的构成,很清楚时,使用CAccessor;当你对目标数据源不甚了解时则使用CDynamicAccessor。理论上讲,MSDN的说法是没有问题的,但我实在想象不出除了去hack

2010-04-06 20:20:00 1402

原创 CCommand::Open的bBind参数使用方法

     CCommand::Open方法的bBind参数是个很重要的参数。它的作用到底是什么呢?通过实验,我得出了一些答案,现概括如下。     我们知道CCommand是通过rowset和数据库进行交互的。在执行一条SQL语句后,貌似需要将SQL的执行结果(如SELECT的结果)同rowset邦定起来,如此便可以从rowset中取得结果。而bBind参数的作用就是决定在执行完SQL后是

2010-04-05 15:42:00 1352 1

原创 使用者向导生成的几个关键方法简析

     使用OLE DB进行数据库编程时,可以通过向导快速建立一个使用者(Consumer)。向导会自动生成一些方法。为了正确使用生成的使用者,弄清楚这些方法究竟做些什么是必要的。下面就对其中比较关键的几个做一个简单分析。(注:以下结论主要通过实验和阅读源代码得出,仅供参考。如有错误还望指正。)     首先我们需要明白一点,那就是在创建使用者时你把如下一些基本信息提供给了向导:欲连

2010-04-05 12:30:00 761

原创 LSGTL v1.0.2发布 : )

地址:http://sourceforge.net/projects/lsgtl/ 简要介绍:LSGTL means LLX’s Static Graph Template Library which is a light-weighted header-only template library developed mainly for static graph analys

2010-04-04 14:23:00 433

原创 命令释放与记录释放

      在OLE DB的使用过程中,有几个关于释放的函数需要特别区分清楚,它们是:CCommand::Close、CCommand::ReleaseCommand以及CAccessorRowset::FreeRecordMemory。      当使用CCommand进行数据库访问时,有三样东西是需要的,即行集(Rowset)、结果集存取器(Result set accessor)以及

2010-04-04 13:43:00 779

Learn OLE DB Development with Visual C++ 6.0

Learn OLE DB Development with Visual C++ 6.0

2010-04-01

空空如也

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

TA关注的人

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