- 博客(6)
- 收藏
- 关注
原创 快速排序算法的几种版本及实现
写在前面的话 最近系统地学习了快速排序算法,在此作一笔记。主要包括快排的各种版本:普通版本,改进的普通版本,随机化版本,三数值取中分割版本和Stooge版本。对各版本进行了简要分析,并给出了具体实现。《算法导论》对快排的描述 快速排序是基于分治模式的,下面是对一个典型子数组A[p..r]排序的分治过程的三个步骤: 分解:数组A[p..r]被
2011-11-13 17:48:17 550
原创 存储器越界引用和缓冲区溢出分析
百度定义 缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上,理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患.操作系统所使用的缓冲区 又被称为"堆栈". 在各个操作进程之间,指令会被临时储存在"堆栈"当中,"堆栈"也会出现缓
2011-11-12 16:15:59 1052
原创 总结与反思-中国企业研发困境的文化根源
最近看了《研发困局》这本书,深有感触。相信不止是我,所有关心祖国及自身前途与命运的有识之士都会产生强烈的共鸣。 中国传统文化存在三个“不在乎”:不在乎公共空间,不在乎真假,不在乎创新。中国文化的渊源倾向于辨证和整体思维方式,而不是西方文化的逻辑和分解思维,遇到问题习惯于调和与中庸,自然就逐步就不在乎真假了!中国的科技成果鉴定最容易走形式,正是这种文化现象的典型例证。表现在企业研发上,
2011-11-04 20:15:18 941
原创 数据存储的字节顺序
关于字节顺序问题,牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian(大端存储)方式存储数据,而x86系列则采用little endian(小端存储)方式存储数据。 big endian是指低地址存放最高有效字节(MSB),而little endian则是低地址存放最低有效字节(LSB)。
2011-10-31 12:59:03 1201 1
原创 关于循环不变式的思考
循环不变式,百度的解释:一般而言,用这个式子表示希望得到的结果,如果在循环的每一步,这个式子都是正确的,那么循环结束后,这个式子也正确,并得到了期望的结果。这就算定义了吧。 它的三个性质,初始化、保持和终止,基本意思就是,在循环的第一轮迭代开始前、循环中每一轮迭代开始前和循环结束时,这个式子或性质都是正确的。 拿插入排序算法来说吧,有数组A[1...n],包含了
2011-10-29 15:31:44 707 2
原创 树根阅读计划开题篇
写在前面的话 首先,我想告诉自己,和朝印的这个计划很有价值,我们一定要好好坚持下去。有机会跟朝印一起共同努力,好好珍惜。 正如很多人所说,做技术,要树立自信心,就是要迎着挑战努力做,并且相信自己一定能做到。你想尽办法去做,当你完成了,你就会很赞叹自己居然也能完成。 我们读书正是为做技术积蓄资本。 最近开始读《深入理解计算机系
2011-10-22 16:07:38 500 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人