10 2013 档案

摘要:递归问题整理 http://blog.csdn.net/shallwake/article/details/5004541深搜的放苹果(POJ1664):(其实就是整数划分问题)把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?5,1,1和1,5,1是同一种分法。(1m:必定有n-m个盘子永远空着,去掉它们对摆放苹果方法数目不产生影响。即if(n>m) f(m,n) = f(m,m) 当nm时,我们会return f(m,m) 所以终会到达出口m==0. http://www.cnblogs.com/dongsheng/arch... 阅读全文
posted @ 2013-10-31 13:48 virusdefender 阅读(387) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/liuaigui/article/details/5050697Hash查找因为其O(1)的查找性能而著称,被对查找性能要求高的应用所广泛采用。它的基本思想是:(1) 创建一个定长的线性Hash表,一般可以初始化时指定length;(2) 设计Hash函数,将关键字key散射到Hash表中。其中hash函数设计是最为关键的,均匀分布、冲突概率小全在它;(3) 通常采用拉链方法来解决hash冲突问题,即散射到同一个hash表项的关键字,以链表形式来表示(也称为桶backet);(4)给定关键字key,就可以在O(1) + O(m)的时间复杂度内定位到目标 阅读全文
posted @ 2013-10-31 13:06 virusdefender 阅读(565) 评论(0) 推荐(0) 编辑
摘要://http://acm.nyist.net/JudgeOnline/problem.php?pid=33#include #include #include int main(){ int *a; int row, tmp_row; int num = 1; int i, j; int loc; scanf("%d", &row); i = 0; j = row - 1; tmp_row = row; a = (int *)malloc(row*row*sizeof(int)); memset(a, 0, row*row*si... 阅读全文
posted @ 2013-10-29 20:35 virusdefender 阅读(262) 评论(0) 推荐(0) 编辑
摘要:1.11月7号期中考试,考数据结构和英语。数据结构认真看看书就行了。2.实验室的问题。虽然真心觉得要是搞算法搞到ACM那种级别真的没啥用,但是现在搞的真的是很基础的。所以现在还是要认真学习的。尽量让自己的进度快一点吧。现阶段一定要如饥似渴的进行学习。这周六之前把前面学习的知识,二叉树,二叉搜索树,平衡二叉树还有堆,还有今天新讲的哈希和贪心算法的知识整理完毕。入门经典继续看啊~python该是多写写面向对象的部分了。c++也是应该好好的看看了。详细计划再说。3.现在的编程中越来越觉得数学的重要了。有空翻一下离散数学吧,现在的线性代数也是好好看吧。日语,哎,怎么说呢,这个真心不想学,但是学好还是没 阅读全文
posted @ 2013-10-28 19:32 virusdefender 阅读(111) 评论(0) 推荐(0) 编辑
摘要:try: #可能得到异常的语句except : #锁定是哪种异常 #出现异常的处理方法异常处理语句import systry: s = raw_input('Enter something --> ') #可能得到异常的语句except EOFError: #锁定是哪种异常 print 'ERROR INPUT !' #出现异常的处理方法 sys.exit()print s-------------时间相关 http://www.cnblogs.com/Kaysin/archive/2013/02/05/2893394.h... 阅读全文
posted @ 2013-10-24 19:14 virusdefender 阅读(145) 评论(0) 推荐(0) 编辑
摘要:大数加法void Add(char s1[], char s2[])//参数为两个字符串数组{ int num1[M], num2[M]; int i, j; int len1, len2; len1 = strlen(s1); len2 = strlen(s2); for (i = len1 - 1, j = 0; i >= 0; i--) { //num1[0]保存的是低位 num1[j++] = s1[i] - '0'; } for (i = len2 - 1, j = 0; i >= 0; i--) { ... 阅读全文
posted @ 2013-10-24 17:33 virusdefender 阅读(141) 评论(0) 推荐(0) 编辑
摘要:求最小公倍数算法:最小公倍数=两整数的乘积÷最大公约数求最大公约数算法:(1)辗转相除法有两整数a和b:①a%b得余数c②若c=0,则b即为两数的最大公约数③ 若c≠0,则a=b,b=c,再回去执行①/*求最小公倍数算法:最小公倍数=两整数的乘积÷最大公约数求最大公约数算法:(1)辗转相除法有两整数a和b:① a%b得余数c② 若c=0,则b即为两数的最大公约数③ 若c≠0,则a=b,b=c,再回去执行①*/#include int common_divisor_func(int num1, int num2);int main(){ int n; int num1, nu 阅读全文
posted @ 2013-10-23 20:41 virusdefender 阅读(524) 评论(0) 推荐(0) 编辑
摘要:链表有环的问题http://blog.chinaunix.net/uid-26565142-id-3184888.html链表相交的情况(编程之美)http://wenku.baidu.com/view/7a0abfeb19e8b8f67c1cb989.html时间复杂度为O(1)的删除链表节点http://www.nowamagic.net/librarys/veda/detail/261逆转链表http://blog.chinaunix.net/uid-26281173-id-2943227.html 阅读全文
posted @ 2013-10-22 20:40 virusdefender 阅读(98) 评论(0) 推荐(0) 编辑
摘要:正则表达式30分钟入门教程http://deerchao.net/tutorials/regex/regex.htm正则表达式在线测试http://tool.chinaz.com/regex/这个也挺好的http://www.cnblogs.com/vamei/archive/2012/08/31/2661870.htmlhttp://blog.csdn.net/pleasecallmewhy/article/details/8929576#coding:utf-8import re#功能 将文本的单词和解释分开#\w:用于匹配字母,数字或下划线字符; #\W:用于匹配所有与\w不匹配的字符. 阅读全文
posted @ 2013-10-17 19:02 virusdefender 阅读(180) 评论(0) 推荐(0) 编辑
摘要:def temp(): print aa=1temp()如果函数里去读一个变量,而这个变量在当前函数的局部变量中找不到,就会全局变量中找。def temp(): print a a = 2a=1temp()print a这个情况是错的,如果函数里去写一个变量(赋值),这个变量必须是局部变量。如果要写全局变量,需要加global声明。def temp(): print a global a a = 2a=1temp()print a修改成这样的话 就是输出 1 2 阅读全文
posted @ 2013-10-16 19:19 virusdefender 阅读(170) 评论(0) 推荐(0) 编辑
摘要:输出~~~~~~~~第一种就是最常用的print函数了,在py2中是 print str, 在py3中就是print(str)但是python中就是print函数输出的时候会自动换行,比如str = "123456"for i in range(len(str)):#注意别漏了range print str[i]输出就成了>>> 123456>>>这样的了Python 2:使用print后加一个逗号:print 'hello',Python 3:输入参数end:print ('hello', end= 阅读全文
posted @ 2013-10-15 17:07 virusdefender 阅读(554) 评论(0) 推荐(0) 编辑
摘要:python中有一个比较有意思的地方,变量是指向某一个数据的地址的,改变数据就是改变指向就行了。而在c语言等中,一个变量的地址是不变的,变量的值改变只是这个地址里面的内存数据发生变化。比如>>> a = 1 >>> id(a) 22862960 >>> a = 2 >>> id(a) 22862948 但是呢>>> a = 1 >>> b = a >>> b += 1 >>> a 1 >>> b 2 >>> pyth 阅读全文
posted @ 2013-10-14 16:24 virusdefender 阅读(703) 评论(0) 推荐(0) 编辑
摘要:void m2n(int m, char* mNum, int n, char* nNum) { int i = 0; char c, *p = nNum; //这是一个考察地方,是否能用最少乘法次数。 while (*mNum != '\0') i = i*m + *mNum++ - '0'; //辗转取余 while (i) { *p++ = i % n + '0'; i /= n; } *p-- = '\0'; //逆置余数序列 while (p > nNum) { ... 阅读全文
posted @ 2013-10-13 11:39 virusdefender 阅读(2179) 评论(0) 推荐(0) 编辑
摘要:All right. It’s Saturday night, I have no date, a two-liter bottle of Shasta and my all-Rush mix-tape…let’s hack.On a whim I downloadedfirmware v1.13for the DIR-100 revA. Binwalk quickly found and extracted a SquashFS file system, and soon I had the firmware’s web server (/bin/webs) loaded into IDA: 阅读全文
posted @ 2013-10-13 09:04 virusdefender 阅读(356) 评论(0) 推荐(0) 编辑
摘要:生活中总会有些状况让我们无所适从摸不着头脑:面对一排电灯或空调的按钮,哪个才是控制我想要的?开锁时掏出一把钥匙,哪个才是正确的?拿起U盘插入电脑,朝那个方向才是对的?……类似的犹豫充分说明,你呆住了。现在,是需要“防呆设计”来拯救你了。 防呆定义 防呆(日语:ポカヨケ;英语:Fool-proofing)是一种预防矫正的行为约束手段,运用避免产生错误的限制方法,让操作者不需要花费注意力、也不需要经验与专业知识即可准确无误完成正确的操作。广义来讲,防呆就是如何设计一个东西,而使错误发生的机会减至最低的程度。避免工作错误的发生,进而达到“第一次就把工作做对”之境界。 防呆与设计 最常见的防呆... 阅读全文
posted @ 2013-10-12 16:32 virusdefender 阅读(224) 评论(0) 推荐(0) 编辑
摘要:c语言使用qsort()库函数 进行快速排序#include #include int cmp_1 (const void *a, const void *b ){ return *(int *)a - *(int *)b;}int cmp_2 (const void *a, const void *b){ return *(int *)b - *(int *)a;}int main(){ int num[10]={1,3,5,7,9,2,4,6,8,0}; int i; qsort(num,10,sizeof(num[0]),cmp_1);//从小到大 ... 阅读全文
posted @ 2013-10-12 14:46 virusdefender 阅读(818) 评论(0) 推荐(0) 编辑
摘要:最近做开发的时候用到c语言文件的读写函数fread(),采用while(!feof(fp))来控制循环,结果发现每次读取数据的时候总会把最后一个数据单元读取两次,很是不解。 后来查找资料发现,原来fread()在读到文件最后一个字节时,feof(fp)还是为0值,此时while(!feof(fp))的控制条件依然为真,所以会将最后一个数据单元再次读取一遍。然后feof(fp)才为非0值,因此说这个方法在某些场合是不可行的。 可以采用 while(fread(p,len,1,fp)) 的方式来判断,因为fread返回的是读取的字节数,如果到了文件末尾,则读取到的字节数为0,while判断为假,. 阅读全文
posted @ 2013-10-11 20:01 virusdefender 阅读(1211) 评论(0) 推荐(0) 编辑
摘要:语言位运算符:与、或、异或、取反、左移和右移位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符含义描述&按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0|按位或两个相应的二进制位中只要有一个为1,该位的结果值为1^按位异或若参加运算的两个二进制位值相同则为0,否则为1~取反~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0>右移将一个数的各二进制位右移N位,移到右端的低 阅读全文
posted @ 2013-10-10 16:14 virusdefender 阅读(330) 评论(0) 推荐(0) 编辑
摘要:最近一直在windows下和ubuntu下写代码,最大的问题就是 windows下的东西拿到ubuntu下就会乱码,其实使用office软件选择正确的编码打开后再复制出来就行了。http://pan.baidu.com/s/100RXt 阅读全文
posted @ 2013-10-07 15:03 virusdefender 阅读(124) 评论(0) 推荐(0) 编辑
摘要:#include int f(int *p){ p = p+1; return printf("%d\n",*p); } void main(){ int a[]={1,2}; int *p = a;//指针p是首地址 f(p);//调用 printf("%d",*p);//p的值是不会改变的 } 结果:21Press any key to continue#include void z(int *p){ p = p+1; *p = 100; } void mian(){ int a[] = {1,2}; int ... 阅读全文
posted @ 2013-10-02 22:57 virusdefender 阅读(469) 评论(0) 推荐(0) 编辑
摘要:在Debug模式下,VC会把未初始化的栈内存全部填成0xcc,当字符串看就是烫烫烫烫……会把未初始化的堆内存全部填成0xcd,当字符串看就是屯屯屯屯……可以让我们方便地看出那些内存没初始化但是Release模式下不会有这种附加动作,原来那块内存里是什么就是什么名字描述0xCD Clean Memory申请的内存由malloc或者new完成0xDD Dead Memory释放后的内存,用来检测悬垂指针0xFD Fence Memory动态申请后的内存值,没有初始化。用来检测数组的下标界限0xAB (Allocated Block?)使用LocalAlloc()分配的内存0x0DF0ADBA Ba 阅读全文
posted @ 2013-10-02 22:52 virusdefender 阅读(642) 评论(0) 推荐(2) 编辑
摘要:这几天在实验室呆着,其实也没有干多少真正有用的事情,但是觉得高手大牛太多了,学习气氛也很好。这几天写的东西比较侧重文件操作,主要的函数就是有fscanf(), fprintf(), fgets(), fputs(), fwrite(), fread(),注意区别,什么时候用哪个比较好~~比如人家使用fscanf()的 我用fgets()就麻烦了不少啊~人家的代码考虑的比较简单,而我写的东西大段大段的代码。就觉得自己是懂得的越多,越觉得自己用该学习的东西还有很多。好好的利用一下这个假期吧。自己以后具体是什么方向呢~~客户端,web,运维,安全还是什么。。-----------------c语言基 阅读全文
posted @ 2013-10-01 09:38 virusdefender 阅读(1144) 评论(0) 推荐(1) 编辑