- 博客(11)
- 资源 (8)
- 收藏
- 关注
原创 一个M * N的方格,从左下角走到右上角有多少种走法?
每次只能往右走,或者往上走。这个题目其实是一个组合问题。对方向编号,向上是0,向右是1,那么从左下角走到右上角一定要经过M 个1和N个0。这个题目可以转化为从M+N个盒子中挑出M个盒子有多少种方法。就是C(M+N, M), 或者C(M+N, N).所以2 * 2的格子有C(2+2, 2)=6中走法, 2* 3 的格子有 C(5, 2)=10种走法。
2013-06-21 17:21:39 14996 7
原创 Linux 下ulimit命令, limits.conf 和file-max对比介绍
在Linux下用ulimit命令可以调整可以打开的最大文件数目,而编辑/etc/security/limit.conf和 修改/proc/sys/fs/file-max也能调整可以打开的最大文件数目,那它们之间有什么区别呢?本文试图对此进行说明。首先要说明的是, /etc/security/limit.conf文件和/proc/sys/fs/file-max只有超级用户才能更改。普通用户只能使
2013-06-21 17:07:36 1771
原创 判断给定数组是否是二叉树的前序或者后序遍历结果
判断给定数组是否是二叉树的前序思路如下,如果数组是前序遍历的结果,那么最后一个数,总是可以把这个数组完整的分作两段,前一段的数小于等于最后一个数,后一段的数大于等于最后一个数。然后继续递归判断分出来的两端子数组,他们也必须满足上述条件才行。思路很简单,代码如下:#include #include #include #include #include #include #incl
2013-04-09 18:45:49 1092
原创 centos 5.3 上安装 emacs 23.2
centos 上用yum install 安装emacs, 默认选择版本是21.3, 把握原来的配置拿过来,speedbar的内容为空,死活搞不定。后来参考stackoverflow上的方法安装了emacs 23.2后问题解决,网址为 http://serverfault.com/questions/283510/where-is-the-yum-repository-for-emacs-23-f
2013-02-22 18:51:48 517
原创 正确的二分查找算法
虽然很早就接触二分查找算法,但是要写个正确的二分查找还是很费功夫的。//二分查找。 在num数组中查找key, 若成功,返回下标。若失败,返回-1。参数len从0开始计。第一版有问题的代码如下:int bsearch1(int* num, uint8_t len, int key){ if (len == 0) { return -1; }
2012-11-27 18:39:18 690 3
原创 货船装箱问题的递归和非递归实现
#include #include //箱子数目#define BOXNUM 5//货船容量#define MAXLOAD 21//箱子重量int box[BOXNUM]= {1,12,9,4,5};//loadflag[i]为1表示第i个箱子需要装载int loadflag[BOXNUM];int bestloadflag[BOXNUM];
2009-08-22 22:26:00 1209
原创 gcc编译过程概述
本文对gcc 编译器如何工作做一个概要描述. 更为详细的信息请参考编译器手册。 当我们进行编译的时候,要使用一系列的工具,我们称之为工具链.其中包括:预处理器CPP,编译器前端gcc/g++,汇编器as,连接器ld. 一个编译过程包括下面几个阶段: (1)预处理.预处理器CPP将对源文件中的宏进行展开。 (2)编译.gcc将c文件编译成汇编文件。
2008-07-11 18:28:00 2825
原创 键树的c++代码实现
建树时使用的是Ukkonens算法.因为看的都是英文资料,所以很吃力。加上这个算法很复杂,偶看了好几天。主要是在后缀链上老是出问题。对于后缀链,我觉得有几点比较重要,可以帮助你理解建树的过程。总结如下:(1)suffix link只能在内部节点之间出现.也就说只能从内部节点指向内部节点.所以如果节点是叶子的话,就不用考虑了。(2)一个新的内部节点总是由规则2产生的。规则2要拆分节点。(3)一个
2007-11-07 18:30:00 1116
Addison Wesley :Windows.System.Programming.Third.Edition
2010-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人