一步一步写算法(之hash表)
摘要:【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 hash表,有时候也被称为散列表。个人认为,hash表是介于链表和二叉树之间的一种中间结构。链表使用十分方便,但是数据查找十分麻烦;二叉树中的数据严格有序,但是这是以多一个指针作为代价的结果。hash表既满足了数据的查找方便,同时不占用太多的内容空间,使用也十分方便。 打个比方来说,所有的数据就好像许许多多的书本。如果这些书本是一本一本堆起来的,就好像链表或者线性表一样,整个数据会显得非常的无序和凌乱,在你找到自己需要的书之前,你要经历许多的查询过程;而如果你对所有的书本进行编号,并且把这些
阅读全文
posted @
2013-05-29 00:16
知识天地
阅读(574)
推荐(1) 编辑
素数判断算法(高效率)
摘要:chuanbindeng的素数判断算法关于素数的算法是信息学竞赛和程序设计竞赛中常考的数论知识,在这里我跟大家讲一下寻找一定范围内素数的几个算法。看了以后相信对大家一定有帮助。正如大家都知道的那样,一个数n如果是合数,那么它的所有的因子不超过sqrt(n)--n的开方,那么我们可以用这个性质用最直观的方法来求出小于等于n的所有的素数。num = 0;for(i=2; i<=n; i++){for(j=2; j<=sqrt(i); j++)if( j%i==0 ) break;if( j>sqrt(i) ) prime[num++] = i;//这个prime[]是int型,跟
阅读全文
posted @
2013-05-29 00:05
知识天地
阅读(2183)
推荐(0) 编辑
memset函数详细说明
摘要:1。void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。2。例子#includevoid main(){char *s="Golden Global View";clrscr();memset(s,'G',6);printf("%s",s);getchar();return 0;} 3。memset() 函数常用于内存空间初始化。如:char str[100];memset(str,0,100);4。memset()的深刻内涵:用来对一段内存空间全部设置为
阅读全文
posted @
2013-05-28 21:41
知识天地
阅读(299)
推荐(0) 编辑
八大排序算法总结
摘要:插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。要点:设立哨兵,作为临时存储和判断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;//分别为有序区和无序区指针for(i=1;i<length;i++)//逐步扩大有序区{j=i+1;if(L[j]<L[i]){L[0]=L[j];//存储待排序元素While(L[0]<L[i])//查找在有序区中的插入位置,同时移动元素{L[i+1]=L[i];//移动i--;
阅读全文
posted @
2013-05-28 19:00
知识天地
阅读(306)
推荐(0) 编辑
关于C++ const 的全面总结
摘要:C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。一、Const作用如下表所示:No.作用说明参考代码1可以定义const常量 const int Max = 100;2便于进行类型检查const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误void f(const int i
阅读全文
posted @
2013-05-28 18:48
知识天地
阅读(278)
推荐(0) 编辑
Windows下FFmpeg快速入门
摘要:本系列文章导航Windows下FFmpeg快速入门ffmpeg参数解释mencoder和ffmpeg参数详解(Java处理视频)Java 生成视频缩略图(ffmpeg)使用ffmpeg进行视频文件转换成FLV整理java 视频处理 mencoderjava 视频处理 ffmped+mencoderWindows下FFmpeg快速入门FFmpeg简介FFmpeg是什么?FFmpeg是用于录制、转换和流化音频和视频的完整解决方案, 包括libavcodec,一套领先的音/视频编解码类库。FFmpeg 在Linux上开发,当可以在大多数操作系统下编译,包括Windows。NoteFFmpeg对GCC
阅读全文
posted @
2013-05-28 17:31
知识天地
阅读(429)
推荐(0) 编辑
sprintf,你知道多少?
摘要:选自《CSDN 社区电子杂志——C/C++杂志》http://emag.csdn.net2005 年1 月 总第1 期 - 93 -本文作者:steedhorse(晨星)printf 可能是许多程序员在开始学习C 语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf 了解多吗?在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比prin
阅读全文
posted @
2013-05-28 17:25
知识天地
阅读(363)
推荐(0) 编辑
vector C++ 详细用法
摘要:vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。 为了可以使用vector,必须在你的头文件中包含下面的代码: #include <vector> vector属于std命名域的,因此需要通过命名限定,如下完成你的代码: using std::vector; vector<int> vInts; 或者连在一起,使用全名: std::vector<int&g
阅读全文
posted @
2013-05-28 17:21
知识天地
阅读(400)
推荐(0) 编辑
运行游戏时出现0xc000007b错误的解决方法
摘要:如图,这个错误使无数玩家烦恼。出现这个错误,可能是硬件的问题,也可能是软件的问题。但是,由于硬件引起该问题的概率很小,并且除了更换硬件之外没有更好的解决方法,因此本文将详细介绍如何通过软件解决此问题,这也是大家最关心的。大致介绍一下这个错误是如何发生的。这个错误的本意是提示内存错误,但是通常情况下并不是内存存在问题,而是由于软件的问题产生了这个错误。究竟是什么软件的问题呢?答案是DirectX,并且多数情况下是DirectX 9.0的问题。也许大家会问了:我玩的游戏都有DirextX 11的特效了,还会和DirectX 9有关系吗?事实上,游戏公司为了游戏的兼容性,往往都是基于DirectX
阅读全文
posted @
2013-05-28 17:13
知识天地
阅读(617)
推荐(0) 编辑
个编得好的拼音输入法C51的
摘要:C51程序://"********************CCDC01采集器测试仪软件:拼音输入法模块********************"//"*软件设计:*"//"*日期:2001/3*"//"*编译环境:Franklin3.3.4*"//"******************************************************************************"#include#include//"********************CC
阅读全文
posted @
2013-05-17 17:29
知识天地
阅读(1637)
推荐(0) 编辑
【Visual C++】游戏开发笔记之一——API函数、DirectX的关键系统
摘要:本系列文章由zhmxy555(毛星云)编写,转载请注明出处。http://blog.csdn.net/zhmxy555/article/details/7318264作者:毛星云邮箱:happylifemxy@qq.com 在从第一节开始看这个笔记系列的话,大家会发现,一上来就开始讲DirectX相关的内容,但是写了几节之后,又开始讲GDI了。这是因为我写完前几节后,发觉直接讲DirectX有些生硬。最后我想了一下,应该先梳理完GDI相关的重点知识,再来讲DirectX,毕竟游戏编程里面windows API是基础。所以先讲windows API,接着介绍DirectX,最后讲解游戏引擎的设.
阅读全文
posted @
2013-05-17 17:14
知识天地
阅读(398)
推荐(0) 编辑
九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)
摘要:作者:v_JULY_v出处:http://blog.csdn.net/v_july_v/article/details/7974418引言 自发表上一篇文章至今(事实上,上篇文章更新了近3个月之久),blog已经停了3个多月,而在那之前,自开博以来的21个月每月都不曾断过。正如上一篇文章支持向量机通俗导论(理解SVM的三层境界)末尾所述:”额,blog许久未有更新了,因为最近实在忙,无暇顾及blog。“与此同时,工作之余,也一直在闲心研究数据挖掘:"神经网络将可能作为Top 10 Algorithms in Data Mining之番外篇第1篇,同时,k-最近邻法(k-nearest
阅读全文
posted @
2013-05-17 17:07
知识天地
阅读(807)
推荐(0) 编辑
程序员编程艺术:第四章、现场编写类似strstr/strcpy/strpbrk的函数
摘要:作者:July。 说明:如果在博客中代码使用了\n,csdn blog系统将会自动回给我变成/n。据后续验证,可能是原来旧blog版本的bug,新版已不存在此问题。至于,本文代码,日后统一修正。July、2012.05.02。 微博:http://weibo.com/julyweibo。 出处:http://blog.csdn.net/v_JULY_v。 wiki:http://tctop.wikispaces.com/。----------------------------------------------前奏 有网友向我反应,之前三章(http://t.cn/hgVPmH)的面试题目,
阅读全文
posted @
2013-05-16 00:09
知识天地
阅读(533)
推荐(0) 编辑
程序员编程艺术:三之三续、求数组中给定下标区间内的第K小(大)元素
摘要:作者:July、上善若水、编程艺术室。出处:http://blog.csdn.net/v_JULY_v。前奏 原狂想曲系列已更名为:程序员编程艺术系列。原狂想曲创作组更名为编程艺术室。编程艺术室致力于以下三点工作:1、针对一个问题,不断寻找更高效的算法,并予以编程实现。2、解决实际中会碰到的应用问题,如第十章、如何给磁盘文件排序。3、经典算法的研究与实现。总体突出一点:编程,如何高效的编程解决实际问题。欢迎有志者加入。 ok,扯远了。在上一章,我们介绍了第十章、如何给10^7个数据量的磁盘文件排序,下面介绍下本章的主题。我们知道,通常来讲,寻找给定区间内的第k小(大)的元素的问题是ACM中一类
阅读全文
posted @
2013-05-16 00:08
知识天地
阅读(599)
推荐(0) 编辑
程序员编程艺术:第三章、寻找最小的k个数
摘要:作者:July,zhouzhenren,yansha。 致谢:微软100题实现组,狂想曲创作组。 时间:2011年05月08日 微博:http://weibo.com/julyweibo。 出处:http://blog.csdn.net/v_JULY_v。 wiki:http://tctop.wikispaces.com/。-----------------------------------------------前奏 在上一篇文章,程序员面试题狂想曲:第三章、寻找最小的k个数中,后来为了论证类似快速排序中partition的方法在最坏情况下,能在O(N)的时间复杂度内找到最小的k个数,而.
阅读全文
posted @
2013-05-16 00:04
知识天地
阅读(1023)
推荐(0) 编辑
程序员编程艺术:第二章、字符串是否包含及匹配/查找/转换/拷贝问题
摘要:作者:July,yansha。时间:二零一一年四月二十三日。致谢:老梦,nossiac,Hession,Oliver,luuillu,雨翔,啊菜,及微软100题实现小组所有成员。微博:http://weibo.com/julyweibo。出处:http://blog.csdn.net/v_JULY_v。-------------------------------------------目录曲之前奏第一节、一道俩个字符串是否包含的问题 1.1、O(n*m)的轮询方法 1.2、O(mlogm)+O(nlogn)+O(m+n)的排序方法 1.3、O(n+m)的计数排序方法第二节 2.1、O(n+m
阅读全文
posted @
2013-05-16 00:02
知识天地
阅读(441)
推荐(0) 编辑
六之再续:KMP算法之总结篇(必懂KMP)
摘要:引记 此前一天,一位MS的朋友邀我一起去与他讨论快速排序,红黑树,字典树,B树、后缀树,包括KMP算法,唯独在讲解KMP算法的时候,言语磕磕盼盼,我想,原因有二:1、博客内的东西不常回顾,忘了不少;2、便是我对KMP算法的理解还不够彻底,自不用说讲解自如,运用自如了。所以,特再写本篇文章。由于此前,个人已经写过关于KMP算法的两篇文章,所以,本文名为:KMP算法之总结篇。本文分为二个部分:第一部分、再次回顾普通的BF算法与KMP算法各自的时间复杂度,并两相对照各自的匹配原理;第二部分、通过我此前一篇文章的引用,用图从头到尾详细阐述KMP算法中的next数组求法,并运用求得的next数组写出K.
阅读全文
posted @
2013-05-15 22:12
知识天地
阅读(542)
推荐(0) 编辑
从topcoder赚钱的方法~
摘要:1. 算法1.1 SRM钱少($30左右),而且很难。1.2 Tournament钱多($1000~$10000),太难~2. 设计和开发2.1 构件设计和开发钱比较多($1000左右),而且机会很多,王道啊!2.2 Digital Run分季度,前5名有很多钱($1000~$10000),而且可以去米国接受荣誉~可以争取!2.3 Rookie of the Year只要在一年赛季(对于我就是2007.5.3)前通过review的submission少于6个,就可以参评,前十有几千刀,第一名可以去米国接受荣誉~可以争取!差点忘了,还有3系列: 当reviewer,这个可是固定工资啊!总结:以1
阅读全文
posted @
2013-04-28 15:06
知识天地
阅读(804)
推荐(0) 编辑
cvBoundingRect的用法(转)
摘要:计算点集的最外面(up-right)矩形边界CvRect cvBoundingRect( CvArr* points, int update=0 );points二维点集,点的序列或向量 (CvMat)update更新标识。下面是轮廓类型和标识的一些可能组合:update=0, contour ~ CvContour*: 不计算矩形边界,但直接由轮廓头的 rect 域得到。update=1, contour ~ CvContour*: 计算矩形边界,而且将结果写入到轮廓头的 rect 域中 header.update=0, contour ~ CvSeq* or CvMat*: 计算并返回边界
阅读全文
posted @
2013-03-28 07:32
知识天地
阅读(3800)
推荐(0) 编辑
OpenCV读写avi、mpeg文件
摘要:问题:为什么我的电脑支持AVI或者能够播出AVI,但为什么使用cvCreateFileCapture函数总返回NULL呢?答案:尽管是AVI文件,但也可能使用了某种codec,例如:MJPEG Decompressor。 需要把它转换OpenCV支持的AVI文件. OpenCV支持的AVI如下:ContainerFourCCNameDescriptionAVI'DIB 'RGB(A)Uncompressed RGB, 24 or 32 bitAVI'I420'RAW I420Uncompressed YUV, 4:2:0 chroma subsampledAVI
阅读全文
posted @
2013-03-21 23:36
知识天地
阅读(2676)
推荐(0) 编辑