摘要: 思想:对于数列,设其全排列用集合表示。其全排列集合可以用一种递归方式定义:其中,表示以开头的所有全排列集合。程序实现可以用递归实现,代码如下:voidprint_it(intarr[],intn);voidarrange_all(intarr[],intsize,intpos);voidswap(int&a,int&b);intmain(){inta[4]={1,2,3,4};arrange_all(a,4,0);return0;}/*函数名:voidarrange_all(intarr[],intsize,intpos)描述:打印所有排列参数:arr[]排列存放的数组size 阅读全文
posted @ 2012-09-30 14:42 子桥 阅读(764) 评论(0) 推荐(0) 编辑
摘要: 给定一个数n,求其阶乘的末尾有多少个0。末尾为0的产生原因是阶乘中出现了含有因子为2、5的数。含有因子为2的数,即偶数,远远多于含有因子为5的数。因此求出有多少个5的倍数就可以了,n/5。这只考虑了两个数相乘末尾为一个0的情况,如2*5,但是还有两个数相乘末尾为两个0、三个0;末尾有两个零是因为有因子4和25,末尾有三个0是因为有因子8、125。。。这样可以写出公式程序实现也很简单,对输入的n,求其与5、25、125...的商,然后加起来就是了intmain(){inti;while(1==scanf("%d",&i)){intcount=0;while(i!=0) 阅读全文
posted @ 2012-09-30 14:01 子桥 阅读(1150) 评论(0) 推荐(1) 编辑
摘要: intf(intx,inty){return((x&y)+(x^y)>>1);}一个函数如上所示,f(729,271)=?这个题目来源于程序员面试宝典P39,第五章5.5节,运算符问题。对于书中的解答并不满意。解答思路如下:有两种最简单的情况:1)x和y完全相同,那么f函数返回结果为(x&y)即x,刚好是两数均值 如x=1000,y=1000;2)x和y每位都不同,那么f函数返回结果为(x^y)>>1 如x=101,y=10; 这种情况下,x+y结果为111,刚好等于(x^y)右移一位等于除以2,所以也是两数的均值;其他情况无非是x和y部分位相同部分为不 阅读全文
posted @ 2012-04-06 16:57 子桥 阅读(1427) 评论(1) 推荐(0) 编辑
摘要: 实验室最近用到nmi(Normalized Mutual information)评价聚类效果,在网上找了一下这个算法的实现,发现满意的不多.浙江大学蔡登教授有一个,http://www.zjucadcg.cn/dengcai/Data/code/MutualInfo.m,他在数据挖掘届地位很高,他实现这个算法的那篇论文引用率高达三位数。但这个实现,恕个人能力有限,我实在是没有看懂:变量命名极为个性,看的如坠云雾;代码倒数第二行作者自己添加注释why complex,我就更不懂了;最要命的是使用他的函数MutualInfo(L1,L2)得到的结果不等于MutualInfo(L2,L1),没有对 阅读全文
posted @ 2011-12-13 16:20 子桥 阅读(27934) 评论(4) 推荐(1) 编辑
摘要: 出现这个错误可能原因很多,我的问题是来自于把template写在了cpp文件中template 有弊端就是 他的实现部分必须和声明部分在一起你声明在一个头文件定义在另一个头文件编译器好笨!!!!!!!!!,它根本就找不到///只要你把实现部分拷贝到你声明的头文件,就没有错了 阅读全文
posted @ 2011-12-08 12:16 子桥 阅读(739) 评论(0) 推荐(0) 编辑
摘要: series1=rand(1,5);series2=rand(1,5);bar1=bar([1:4:17],series1,'BarWidth',0.2,'FaceColor','b');hold on;bar2=bar([2:4:18],series2,'BarWidth',0.2,'FaceColor','c');legend('series1','series2');labelID = ['A';'B'; 'C'; 阅读全文
posted @ 2011-11-29 23:47 子桥 阅读(16017) 评论(0) 推荐(0) 编辑
摘要: 摘自http://wiki.wxwidgets.org/Converting_everything_to_and_from_wxString#int_to_wxStringchar* to wxString const char* chars = "Hello world";// assuming your string is encoded as UTF-8, change the wxConv* parameter as neededwxString mystring(chars, wxConvUTF8);wxString to char* void my_functi 阅读全文
posted @ 2011-11-14 17:10 子桥 阅读(2466) 评论(0) 推荐(0) 编辑
摘要: 最近要用codeblocks+wxWidgets做一个实验的结果图,采用的版本是codeblocksSVN完美配置绿色版,SVN6852,下载地址http://bt.neu6.edu.cn/viewthread.php?tid=692508&highlight=codeblocks之所以采用这个版本是因为不需配置,方便快速做完现在手头上的东西。新建工程,选择wxWidgets Project:第一步之后是一个欢迎界面,无需理会,next;弹出窗口提示选择wxWidgets的版本,我下的版本集成了2.8.x,选好后点击next;设置路径和工程名:输入作者信息,不理会,next;选择使用的 阅读全文
posted @ 2011-11-14 13:35 子桥 阅读(2107) 评论(0) 推荐(0) 编辑
摘要: 原文链接 http://www.z5xw.com/html/y2011/3291.html程序员每天该做的事1、总结自己一天任务的完成情况最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多2、考虑自己明天应该做的主要工作把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢4、考虑自己一天工作完成的质量和效率能否还能提高一天只提高1%,365天你的效率就能提高多少倍你知道吗?(1+0.01)^365=37倍 阅读全文
posted @ 2011-11-08 21:42 子桥 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 今天为了提高一个程序的效率,将程序中的大多数map换成了hash_map,替换之后效率提升了不少。替换之前也有犹豫,理论上hash_map比map效率要高很多,一个查找时是接近O(1),一个是O(lg N),数量级就不一样;但凡事总有两面性,hash_map目前没有正式写入STL的标准,而且由于它比红黑树实现的map要复杂一些,在小一些的数据集上可能未必有明显的优势;那么我是应该把自己的程序中全部的map替换掉,还是替换一部分,还是根本就不需要替换?我想自己先看一看hash_map在多大的数据集上比map有优势。先做了个小实验看map插入数据的效率(代码是hash_map的,map实现的只需简 阅读全文
posted @ 2011-11-06 23:12 子桥 阅读(3408) 评论(0) 推荐(0) 编辑