“打包“这个词听起来比较土,比较正式的说法应该是”构建项目软件包“,具体说就是将项目中的各种文件,比如源代码、编译生成的字节码、配置文件、文档,按照规范的格式生成归档,最常见的当然就是JAR包和WAR包了,复杂点的例子是Maven官方下载页面的分发包,它有自定义的格式,方便用户直接解压后就在命令行使...
分类:
其他好文 时间:
2014-06-18 10:47:04
阅读次数:
197
之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是N2,现在我来介绍另外一种存储图的方法:邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据,如下。4 51 4 94 3 81 2 52 4 61 3 7 第一行两个整数nm。n表示顶点个数(顶点编号...
分类:
其他好文 时间:
2014-06-18 10:26:09
阅读次数:
250
1.动机将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。一个RTF(Rich Text Format)文档交换格式的阅读器应能将RTF转换为多种正文格式。该阅读器可以将RTF文档转换成普通ASCII文本或转换成一个能以交互方式编辑的正文窗口组件。但问题在于可能转换的数目是无...
分类:
其他好文 时间:
2014-06-18 08:24:19
阅读次数:
345
导言把一件简单的事情做复杂很容易,把一件复杂的事情做简单却不易。在计算机的世界里,冯.诺依曼把复杂的电脑简化为:存储器,控制器,运算器和I/O设备;丹尼斯·里奇把晦涩的汇编语言简化为258页的《C程序设计语言》;詹姆斯高斯林把繁琐的跨平台编码简化为256条字节码指令;对我们大部分人而言,把简单的事情...
分类:
Web程序 时间:
2014-06-18 08:22:25
阅读次数:
269
C语言教材的有序单链表程序的插入我并不满意,因为链表为空,表尾等原因导致有四种情况要处理,给同学们的阅读造成困难。书上的做法较复杂的一个原因是链表是不带头结点的,所以要考虑新结点插入时会不会变成表头,例如:当链表为空时, 插入3, 3变成表头, 再插入1, 链表为1->3, 链表头指向1, 代码必须...
分类:
其他好文 时间:
2014-06-18 00:16:02
阅读次数:
181
概述:排序算法可分为比较性的排序,以及运算性的排序;这里详细介绍这些排序的原理,性能,实现,以及应用场合。前面是维基百科的介绍,这里介绍几个比较典型的算法。理论计算复杂性理论大O符号全序关系列表稳定性比较排序自适应排序排序网络整数排序交换排序冒泡排序鸡尾酒排序奇偶排序梳排序侏儒排序快速排序臭皮匠排序...
分类:
其他好文 时间:
2014-06-18 00:03:48
阅读次数:
483
Write a function to find the longest common prefix string amongst an array of strings.题解: 寻找一组字符串的最长公共前缀。最简单的方法,用一个字符串记录当前最长的公共前缀,然后依次比较。时间复杂度: O(N). ...
分类:
其他好文 时间:
2014-06-18 00:03:08
阅读次数:
274
触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。数据库触发器有以下的作用:1.安全性。可以基于数据库的值使用户具有操作数据库的某种权利。#可以基于时间限制用户的操作,例如不允许下..
分类:
数据库 时间:
2014-06-17 18:25:15
阅读次数:
253
接着上一Pa说。就是如何建立这个堆呢。可以从空的堆开始,然后依次往堆中插入每一个元素,直到所有数都被插入(转移到堆中为止)。因为插入第i个元素的所用的时间是O(logi),所以插入所有元素的整体时间复杂度是O(NlogN),代码如下。n=0;
for(i=1;i<=m;i++)
{
n++;
h[n]=a[i..
分类:
其他好文 时间:
2014-06-17 17:54:05
阅读次数:
177
如果仅仅是SSD的使用者,一定不会在意在SSD内部居然还存在一个复杂的软件层FlashTranslationLayer(FTL)。其实就是这个FTL才是SSD固态硬盘的软件核心技术。正因为有了FTL,NANDFlash才能被当成硬盘来使用;文件系统才可以直接把SSD当成普通块设备来使用。由于FTL是SSD设计厂商..
分类:
其他好文 时间:
2014-06-17 17:52:13
阅读次数:
213