归并排序O(N*logN)是另一种效率很高的排序方法。"归并"的含义就是将两个或两个以上的有序表组合成一个有序表。加入两个有序表的长度分别为m、n,则一次归并的时间复杂度为O(m+n)。我们可以用"归并"的思想来实现排序。假如待排序列含有n个关键字,则可看成是n个有序的子序列,每个序列长度为1,然后两两归并,得到[n/2]个长度为2或1的子序列,在两两归并....,知道得到一个长度为n的有序序列为止。这就是2-路归并算法。下图就是2-路归并排序的一个例子:
系统 2019-08-29 21:59:43 2073
今天这堂培训课讲什么呢?我既不讲Spring,也不讲Hibernate,更不讲Ext,我不讲任何一个具体的技术。我们抛开任何具体的技术,来谈谈如何提高代码质量。如何提高代码质量,相信不仅是在座所有人苦恼的事情,也是所有软件项目苦恼的事情。如何提高代码质量呢,我认为我们首先要理解什么是高质量的代码。高质量代码的三要素我们评价高质量代码有三要素:可读性、可维护性、可变更性。我们的代码要一个都不能少地达到了这三要素的要求才能算高质量的代码。1.可读性强一提到可读
系统 2019-08-29 21:58:58 2073
在搭建一个局域网的时候,IP地址规划的意义重大。如果你的网络永远不会被扩展和定制,那么你可以随意的规划IP地址,只要能保证路由是通的就可以了。然而如果将来有一天你需要对已有的网络进行拓展,那么就需要精心安排地址了。原则就是:尽量使逻辑上同类的地址规划成连续的地址,并且起始地址最好是2的次幂。这样做的原因在于可以方便的划分子网。考虑下面的拓扑:有一天,需要在该局域网增加一台加密网关,所有到达外部网络2的流量都要被加密,而且需要把加密流量路由指向加密网关(流量
系统 2019-08-12 09:30:33 2073
JFreeChart1.0.2的动态应用,根据数据库中的数据生成饼图:(部分来自网页)本文用的是JFreeChart1.0.2(根据版本不同需要根据类修改部分代码)下载:http://www.jfree.org/jfreechart/index.html下载后解压jfreechart-1.0.2.zip,会发现在lib下有几个jar文件,本文只介绍生成饼图的例子:1,首先将lib下的jcommon-1.0.5.jar和jfreechart-1.0.2.ja
系统 2019-08-12 09:30:12 2073
这篇文章是我从360doc上转的,本来是要把转的url列出来的,但是它们居然禁掉了复制,而且禁复制的js在放服务器端,害得我白看了那么多源代码,所以我不把url打出来了,对于这样的做法最简单的就是把网线一断,天下太平了.尽情得复制去吧,哈哈1.*.pro文件相信学习过QT的同志们,应该自己写了一个最简单的Hello程序。同时也就开始使用了一个命令:qmake–project。这个命令是用来生成QT的工程文件(.pro)的,这个文件是用来设置编译或者链接的变
系统 2019-08-12 09:30:08 2073
互联网时代实际上是数据的时代,构建大型电子商务系统必然要涉及到大量数据显示,数据的分页显示是频繁遇到的问题,如果让每个程序员都要考虑数据的获取与处理的每个细节,那必将是件既糟糕又混乱的事情,类似于分页显示这种具有公共特征的控制逻辑必定要在horizonallayer层予以实现本文以循序渐进的方式给出了用jsp处理分页显示的一个可重用,易于移植的实现。如果把与各种商业逻辑实体相对应的数据叫做"实体数据",那么分页显示逻辑要封装的就是控制实体数据的"控制数据"
系统 2019-08-12 09:30:00 2073
这个软件架构使用的mvc架构包括使用自身一套页面逻辑,标签类型比较简单,包括逻辑判断标签、页面赋值标签和循环list对象取值标签。在执行完页面请求返回的页面没有规定,可以是jsp,也可以是html页面,使用上一篇提到的Common对象跳转页面,方法为:common.showPage("page")方法,因为没有该框架的这部分源代码,只能大概推测,这个方法是读入页面,并将执行页面含有的逻辑标签和赋值,一个方法可以多次使用该方法,最后的执行结果是多个页面顺次显
系统 2019-08-12 09:29:58 2073
https://github.com/JavaLizheng/testgit常用命令:gitconfig:配置gitgitadd:更新workingdirectory中的文件至stagingarea。gitadd.更新所有的文件gitcommit:提交stagingarea中的文件至gitrepository中。gitcommit-m'message'gitstatus:查看状态gitdiff:查看改动情况gitremote:查看远端服务器别名,加上-v显
系统 2019-08-12 09:27:16 2073
代码assumecs:code,ds:datadatasegmentmsgdb"helloworld"dataendscodesegmentstart:movax,datamovds,axmovbx,0b800hmoves,bxmovcx,11movah,01000010bmovsi,0movbx,0s:moval,ds:[si]moves:[bx],almoves:[bx+1],ahincsiaddbx,2loopsmovax,4c00hint21hco
系统 2019-08-12 09:26:59 2073
修改中断描述符表(IDT)中的键盘入口实现按健记录,把读取到的键盘扫描码转换成ascii码记录下来。查找键盘入口采用了查询IOAPIC的重定向寄存器的方法(通过把物理地址0xFEC00000映射为虚拟地址,然后读取键盘中断向量,最难得是没有xpsp2的限制了。这是我从别处转过来的驱动源码,WindowsXPCheckedBuildEnvironment测试过。#include#include#defineMAX_CHAR
系统 2019-08-12 09:26:46 2073