摘要: 1. 引言 哈希表(Hash Table)的应用近两年才在NOI中出现,作为一种高效的数据结构,它正在竞赛中发挥着越来越重要的作用。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在当前可利用内存越来越多的情况下,用空间换时间的做法是值得的。另外,编码比较容易也是它的特点之一。 哈希表又叫做散列表,分为“开散列” 和“闭散列”。考虑到竞赛时多数人通常避免使用动态存储结构,本文中的“哈希表”仅指“闭散列”,关于其他方面读者可参阅其他书籍。 2. 基础操作 2.1 基本原理 我们使用一个下标范围比较大的数组来存储元素。可... 阅读全文
posted @ 2012-11-07 21:44 曾先森在努力 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 网上搜了下,解析XML的方法大致有以下几种:XmlIO、Xerces、JDOM、dom4j、XOM、JiBX、KXML、XMLBeans、jConfig、XStream、Piccolo、NanoXML、XP Parser、Commons-Digester、NunniMJAX、Crimson、JOX、JaxMe、XMLConfigReader、Woodstox、xalan我自己用过的有JiBX、XMLBeans、JDOM、dom4j和java自带的xpath;其中JiBX、XMLBeans原理类似,而JDOM、dom4j的原理类似。java自带的xpath适用于不需要解析全部的XML文件,只需. 阅读全文
posted @ 2012-11-07 21:37 曾先森在努力 阅读(317) 评论(0) 推荐(0) 编辑
摘要: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密 阅读全文
posted @ 2012-11-07 21:35 曾先森在努力 阅读(343) 评论(0) 推荐(0) 编辑
摘要: Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c++后学java的程序员。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。以下是一个小例子: 1 public class A { 2 public String name; 3 } 4 public class testClone { 5 public void changeA(A a){ 6 ... 阅读全文
posted @ 2012-11-07 21:32 曾先森在努力 阅读(349) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/ilibaba/article/category/506698/2 阅读全文
posted @ 2012-11-07 21:12 曾先森在努力 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 这几天把Joshua Bloch的effective Java扫了一遍,记得前几年也曾想看过此书,不过看了几页就发现迫于自己的java基础和英语基础双双不过关,只能放弃,在经过了几年的修炼之后,在英文字典的帮助下,勉强可以理解一些内容了。既然看了就要留下点脚印,因此我把我觉得应该留点深刻印象的部分记录了下来,这其中也包含了我个人的一些理解。1. 使用静态工厂方法替代构造方法。好处有两点:第一,静态工厂方法是有名字的;第二,静态工厂方法可以不必要在每次调用时创建一个新的对象(对象池)。2. 迫使单例类使用私有构造函数。单例类的两种方式,一种使用私有静态实例延迟加载,另一种是用公有静态最终实例.. 阅读全文
posted @ 2012-11-07 21:10 曾先森在努力 阅读(233) 评论(0) 推荐(0) 编辑