11 2011 档案

排序小结
摘要:插入排序,冒泡排序和选择排序是基本的排序方法,平均情况下时间复杂度是O(n2)。 插入排序对于规模很小的元素序列(n<=25)很有效,最好情况下只需要n-1次比较,不需要交换操作。在平均情况和最差情况下,比较和交换都是O(n2)的。 改进的冒泡排序在最好情况下只需要一次冒泡过程,n-1次比较。 选择排序的比较操作与初始排列无关,比较次数总是O(n2),最好情况下,不移动,最差情况移动不超过3(n-1)次。 三种基本排序方法只需要一个辅助元素,主要用于元素个数n<10K的情况。 归并排序的一个特性是性能与输入元素序列无关,时间复杂度总是O(nlgn)。主要缺点是直接执行需要O(n). 阅读全文

posted @ 2011-11-30 15:53 i活着 阅读(259) 评论(0) 推荐(0)

LongInt计算10000阶乘
摘要:1 #include <iostream> 2 #include <vector> 3 #include <time.h> 4 #include <iomanip> 5 using namespace std; 6 7 //使用数组保存,一个int元素保存5位数 8 class LongInt1 9 { 10 public: 11 LongInt1 (); 12 LongInt1 &operator *(const int x); 13 friend ostream &operator <<(ostream & 阅读全文

posted @ 2011-11-27 17:05 i活着 阅读(461) 评论(0) 推荐(0)

求多项式的值,乘方函数
摘要:1 #include <iostream> 2 #include <time.h> 3 #include <random> 4 #include <iomanip> 5 using namespace std; 6 7 //求指数函数 8 inline double myPow(double x, int y) 9 {10 unsigned int n;11 12 //指数可能为负13 if (y >= 0)14 {15 n = y;16 } 17 else18 {19 n = -y;20 }2... 阅读全文

posted @ 2011-11-25 16:38 i活着 阅读(403) 评论(0) 推荐(0)

关闭VS2010离线MSDN的导航栏
摘要:Visual Studio 2010已经发布有些时日了,其强大便捷的功能让人折服。在VS2010中,微软采用了新的帮助文档阅读系统(Microsoft Help Viewer),Microsoft Help Viewer与IE想集成,可以直接享用HTML、XML、CSS、JavaScript、XSTL等带来的便利,并使离线文档可以与在线文档进行同步或 下载微软新发布的文档。然而,美中不足的是Microsoft Help Viewer的用户体验相对于以前的文档阅读工具还有很大的提高余地。Microsoft Help Viewer最让我头疼的一点是它的导航栏不能完全关闭(收拢),如图:不能收拢也便 阅读全文

posted @ 2011-11-24 19:40 i活着 阅读(536) 评论(0) 推荐(0)

英文VS2010安装中文版MSDN文档方法
摘要:在2010年4月12号发布Visual Studio 2010 and .NET 4正式版。5月26日微软发布了Visual Studio 2010 and .NET 4 RTM中文版,我们还是喜欢使用英文版本VS2010,但是想安装中文版MSDN文档学习下新东西。发现我们使用Help Library Manager指向cn_visual_studio_2010_ultimate_x86_dvd_532347.iso发现没有选项可以安装。安装方法在单独MSDN中文版没提供下载之前,我们可以用这种方法单独安装中文版MSDN文档。1.安装Help Library Manager中文语言包在cn_v 阅读全文

posted @ 2011-11-24 19:11 i活着 阅读(456) 评论(0) 推荐(0)

(转)用C++ TR1 生成随机数
摘要:编辑器加载中...介绍本文将介绍如何使用C++ TR1(C++ 标准委员会 Technical Report 1) 提供的随机数生成功能 除了介绍基本的一致随机数生成之外,还会介绍随机样本的可能分布,包括:柏努利分布,二项分布,指数分布,伽马分布,几何分布,正态分布和泊松分布。我会 指出一些针对特定分布需要注意的地方,比如参数约定,最后还会给出一些提示,比如如何使用TR1不直接支持的分布产生随机数,比如柯西分布,chi- squared分布和Student t。Visual Studio 2008 现在通过 feature pack支持TR1扩展(orbit注:微软已经发布了Visual S. 阅读全文

posted @ 2011-11-24 18:40 i活着 阅读(726) 评论(0) 推荐(0)

(转)C++标准库简单介绍
摘要:C++标准库的所有头文件都没有扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。 <cname>形式的标准头文件【 <complex>例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能。在 <cname>形式标准的头文件中,与宏相关的名称在全局作用域中定义,其他名称在std命名空间中声明。在C++中还可以使用name.h 形式的标准C库头文件名。 C++标准库的内容分为10类: C1.语言支持 C2.输入/输出 C3.诊断 C4.一般工具 C5.字符串 C6.容器 C7.迭代器支持 C8.算法 阅读全文

posted @ 2011-11-24 13:43 i活着 阅读(219) 评论(0) 推荐(0)

(转)C++ 库汇总(网址+简介)
摘要:基础类1、 Dinkumware C++ Library参考站点:http://www.dinkumware.comP.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C+ +的产品中采用Dinkumware的库。2、 RogueWave Standard C++ Library参考站点:http://www.roguewave.com这个库在Borland C++ Builder的早期版本中曾经被采用,后来被其他的 阅读全文

posted @ 2011-11-24 13:41 i活着 阅读(316) 评论(0) 推荐(0)

(转)SIFT算法研究
摘要:1综述结合论文[1]和Rob Hess的开源SIFT代码(发现OpenCV2.3的源码里也是用的Rob Hess的SIFT代码)对SIFT算法进行了研究,下面是小结:在计算机视觉的领域中,图像匹配是很多问题最重要的一个方面,包括物体和场景识别,通过多幅图像进行3D重构,立体匹配和运动跟踪。SIFT特征对 于图像的旋转和尺度变化具有不变性,对于光照改变和摄像机角度变化具有部分的不变性。SIFT算法生成图像特征的主要步骤有以下几个:(1)尺度空间极值检测:搜索所有尺度上的图像位置。通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点。(2)关键点的定位:在每个候选的位置上,通过一个拟合精细的模型 阅读全文

posted @ 2011-11-18 16:09 i活着 阅读(468) 评论(0) 推荐(0)

VLFeat(1)——SIFT图像特征提取(VC++实现)
摘要:由于VLFeat说明文档中只提供了matlab的调用SIFT函数的实例,没有VC++的调用说明,本文是根据实验,在VS2010环境下,结合opencv开源库计算图像的SIFT的描述子,具体实现细节如下所示:1.配置VLFeat环境已经在之前的一篇博文VLFeat-----meansift开源库 中介绍了详细的配置过程,可以参考;2.包含头文件:extern "C"{#include <vl/generic.h>#include <vl/stringop.h>#include <vl/pgm.h>#include <vl/sift.h 阅读全文

posted @ 2011-11-18 16:08 i活着 阅读(1862) 评论(1) 推荐(0)

(转)DOS循环:bat/批处理for命令详解之一 (史上虽详尽的总结和说明~~)
摘要:DOS循环:bat/批处理for命令详解之一(史上虽详尽的总结和说明~~)---本文链接地址:http://www.yoyotao.net/ttt/post/137.html--- 前言: 虽然以前对批处理也算有点研究,但一直对for命令理解不够透彻,偶尔用时也是照猫画虎的用一下。 虽然这是古董级的东西,但挺有意思的,而且有时用处也是蛮大的,所以,这次下决心研究一下,通过两个晚上的学习和测试,算是理解了90%了,很有成就感。 在这次学习过程中,我作了详细的总结和说明,在这里帖出来,供不明白的朋友参阅。自认为是写得比任何教程写得都明白,因为我是从不明白过来的,是结合自己从不理解到理解的过... 阅读全文

posted @ 2011-11-18 16:06 i活着 阅读(889) 评论(0) 推荐(0)

VC中cl.exe命令参数详解
摘要:cl.exe所在的文件夹里面有一个批处理叫做VSVAR32.BAT 首先运行它一次,你就可以用cl.exe来编译你的代码了。 (在vs2005里面未发现该文件,怀疑因该是上级目录的vcvarsall.bat,但是不执行该文件同样可进行命令行编译。) CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。 注意,所有编译器选项都区分大小写。 若要编译但不链接,请使用 /c。 使用 NMAKE 生成输出文件。 ... 阅读全文

posted @ 2011-11-18 16:03 i活着 阅读(3403) 评论(0) 推荐(1)

(转)C++的 RTTI 概念和用途
摘要:自从1993年Bjarne Stroustrup 〔注1 〕提出有关C++ 的RTTI功能之建议﹐以及C++的异常处理(exception handling)需要RTTI;最近新推出的C++ 或多或少已提供RTTI。 然而,若不小心使用RTTI,可能会导致软件弹性的降低。本文将介绍RTTI的观念和近况﹐并说明如何善用它。什么是RTTI? 在C++ 环境中﹐头文件(header file) 含有类之定义(class definition)亦即包含有关类的结构资料(representational information)。但是﹐这些资料只供编译器(compiler)使用﹐编译完毕后并未留下来﹐. 阅读全文

posted @ 2011-11-10 13:24 i活着 阅读(298) 评论(0) 推荐(0)

(转)C++进阶必读书籍
摘要:(一)语言入门:《C++ Primer》最新版本:第三版(第四版国外已上架,国内一些网上书店也在预订中)适合有丰富C经验,缺乏C++经验的。不过我个人一直认为此书带着过于强烈的C语言的痕迹,对于C++的学习未必是好事。《The C++ Programming Language》/《C++程序设计语言》最新版本:第三版特别版简称TC++PL,有其他语言的丰富经验的。(也有人简称之为“TCPL”,但需与另一本《The C Programmer Language》区分开来)《Essential C++》《Accelerated C++》这两本薄一些,都是不错的选择。《Accelerated C++》 阅读全文

posted @ 2011-11-10 13:13 i活着 阅读(697) 评论(0) 推荐(0)

常用Win IDE库函数
摘要:编辑器加载中...注意:资料来源较早,以下使用float类型的函数参数目前已经全部改为double。数学函数:#include<math.h>intabs(intx);floatfabs(floatx);floatsin(floatx);floatasin(floatx);//xin[-1.0,1.0]floatcos(floatx);floatacos(floatx);//xin[-1.0,1.0]floattan(floatx);floatatan(floatx);floatatan2(floatx,floaty);//求x/y的反正切值floatsinh(floatx); / 阅读全文

posted @ 2011-11-10 12:58 i活着 阅读(453) 评论(0) 推荐(0)

(转)LIB和DLL的区别与使用
摘要:共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接方式:动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运行时定位DLL函数的可执行代码所需的信息。静态链接使用静态链接库,链接器从静态链接库LIB获取所有被引用函数,并将库同代码一起放到可执行文件中。关于lib和dll的区别如下:(1)lib是编译时用到的,dll 阅读全文

posted @ 2011-11-10 12:52 i活着 阅读(300) 评论(0) 推荐(0)

(转)Windows下多媒体计时器使用举例
摘要:在VC编程中,用SetTimer可以定义一个定时器,到时间了,就响应OnTimer消息,但这种定时器精度太低了。如果需要精度更高一些的定时器(精 确到1ms),可以使用下面的高精度多媒体定时器进行代码优化,可以达到毫秒级的精度,而且使用方便。先要包含头文件"mmsystem.h"和库文 件"winmm.lib"。虽然Win95下可视化开发工具如VC、Delphi、C++ Builder等都有专用的定时器控件Timer,而且使用很方便,可以实现一定的定时功能,但最小计时精度仅为55ms,且定时器消息在多任务操作系统 中的优先级很低,不能得到及时响应,往往不 阅读全文

posted @ 2011-11-10 12:38 i活着 阅读(2044) 评论(0) 推荐(0)

(转)sql 行专列 列转行 普通行列转换
摘要:/* 标题:普通行列转换(version 2.0) 作者:爱新觉罗.毓华 时间:2008-03-09 地点:广东深圳 说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法。 问题:假设有张学生成绩表(tb)如下: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 想变成(得到如下结果): 姓名 语文 数学 物理 ---- ---- ---- ---- 李四 74 84 94 张三 74 83 93 ---- 阅读全文

posted @ 2011-11-02 22:49 i活着 阅读(601) 评论(0) 推荐(0)

(转)Bibtex使用方法
摘要:Bibtex使用方法BibTeX 是一个使用数据库的的方式来管理参考文献程序, 用于协调LaTeX的参考文献处理.BibTeX 文件的后缀名为 .bib . 先来看一个例子:@article{Gettys90,author = {Jim Gettys and Phil Karlton and Scott McGregor},title = {The {X} Window System, Version 11},journal = {Software Practice and Experience},volume = {20},number = {S2},year = {1990},abstra 阅读全文

posted @ 2011-11-02 22:48 i活着 阅读(1355) 评论(0) 推荐(0)

(转)new,operate new和placement new
摘要:new:不能被重载,其行为总是一致的。先调用operator new分配内存,然后调用构造函数初始化那段内存。 operator new:要实现不同的内存分配行为,应该重载operator new,而不是new。placement new:只是operator new重载的一个版本。它并不分配内存,只是返回指向已经分配好的某段内存的一个指针。因此在删除该对象时,需要调用对象的析构函数。下面重点讲placement new:placement new 是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete 阅读全文

posted @ 2011-11-01 20:50 i活着 阅读(1245) 评论(0) 推荐(0)

导航