- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 字符串匹配(String matching)[No. 76]
字符串匹配就是给定两个字符串 T 和 P, 看T是否完全包含P。 比如 T = abcdeff, P = abce,则P不匹配T,如果P = eff,则P匹配T。非常原始的做法就是从T的第一个字母开始和P进行比较,如果达到P的最后一个字母仍旧是相同的,那么就成立,否则,从T的第二个字母有开始比较;直到T的最后一个字母。这种做法复杂度为O(nm). n 是T的长度, m是P的长度。本文文章介
2011-09-18 04:26:28 1266
原创 二叉查询树的保存和读取(Serialization/Deserialization)
问题:把一个二叉查询树保存到一个文件,然后通过这个文件把这个二叉查询树还原出来。我们使用pre-order遍历把一个二叉查询树保存,原因是只有pre-order遍历是从root开始保存,这样,当我们读取的时候,才能够把那个值放在root。这里我用print来表示保存。public void preOrderWrite(Node root) { if (root!= null) {
2011-09-13 06:40:25 1197
转载 Java Serialization 序列化
1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是
2011-09-04 05:28:38 769
原创 分层打印二叉树 [N0. 20]
问题:把一个二叉树,安装从root到leaf的顺序把每一层上的node从左到右打印出来。分析:利用两个arraylist,一个arraylist装上一层的node, 另一个arraylist装上一层的child。如果上一层arraylist空了,两个arraylist互换。代码://print the binary tree by levelpublic static
2011-09-04 05:14:48 1393
原创 判断两个字符串是否是anagram
所谓 anagram, 就是两个词所用的字母及其个数都是一样的,但是,字母的位置不一样。比如 abcc 和 cbca 就是 anagram. 判断的方法比较简单,先把单个字母(字符)转成整数,然后利用了hashtable+计数器的原理进行判断。public static boolean anagrams(String a, String b) { if (a.length() !
2011-09-04 04:12:05 14894 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人