zhizhizhiyuan

2014年3月16日

关于equals和hashCode

摘要: equals()和hashCode()是Object类的两个函数,重要性可见一斑,不过我们平时使用却未必能深入理解他们。本文从java doc触发,讲到它们与哈希表的关系,再到具体的实现,就我目前掌握的关于这两个函数进行一个梳理。 一、Java Doc Java doc其实远不是只有在编程时查阅API才有用,很多时候它体现了Java的一些设计理念,当然这些理念需要好好分析才能理解。两个函数的具体doc文本可查,不予罗列,只说说重点: 1. equals(): a)该方法是在非空对象引用上实现相等关系,具有自反性、对称性、传递性和一致性。这里需要注意“非空”这个词,这说明,任何非空对... 阅读全文

posted @ 2014-03-16 15:58 zhizhizhiyuan 阅读(443) 评论(0) 推荐(0) 编辑

2014年3月6日

Distinct Subsequences

摘要: 对于有两个字符串的问题,比较常见的方法就是递归或者动态规划,而通常递归会超时。这题一看就知道递归肯定会超时,DP就成为解题利器了。前面总结过,DP一个很重要的问题是要解决意义问题:即dp[i][j]到底表示什么。对这题而言,容易想到dp[i][j]就表示模板串T的前i个字符在母串S的前j个字符中... 阅读全文

posted @ 2014-03-06 13:57 zhizhizhiyuan 阅读(166) 评论(0) 推荐(0) 编辑

2014年1月25日

Next Permutation

摘要: 该算法还是比较简单的。一共分为三步,即:1. 找位置;2. 交换;3. 倒序。下面结合具体例子{3,7,9,8,6,2}来进行说明。 1. 找位置。从末尾开始往前找到第一个降序的位置。如上述例子中,第一个降序的位置为1,值为7。再从该位置的后面部分找到从后往前找到第一个比该值大的数,即8,位置... 阅读全文

posted @ 2014-01-25 16:59 zhizhizhiyuan 阅读(146) 评论(0) 推荐(0) 编辑

2014年1月11日

KMP算法中next函数的理解

摘要: 首先要感谢http://blog.csdn.net/v_july_v/article/details/7041827以及http://blog.chinaunix.net/uid-27164517-id-3280128.html两篇博文的作者,参考这两篇博文才对KMP算法有了初步认识,本文的一些内容也是来自于这两篇之中。KMP算法与BF算法的优略、回溯不回溯这些问题本文不作说明,而主要说明next函数(通常保存为一个next数组)的意义。这正是KMP算法难于理解的地方。 为了方便起见,在不会起歧义的情况下做如下约定:下标都从0开始;假设字符串为S,那么Si 表示第i个字符或者只有第i个字... 阅读全文

posted @ 2014-01-11 22:44 zhizhizhiyuan 阅读(3192) 评论(0) 推荐(1) 编辑

2013年7月17日

JNI与NDK简介

摘要: 最近稍微了解一下JNI和NDK. 网上各种教程给人一种二者不分的感觉, 经过自己运行代码, 将两者的关系理了一下. 就目前了解,JNI应该是java自带的一种调用c和c++等语言(native code)的一个机制.而NDK指的是android-ndk,一种在安卓上使用native code的工具.也就是说,在通常的JVM上,我们用的是JNI,而在android上,则首选NDK(因为也可以使JNI,但是比较麻烦,后面将提及). 一.首先说JNI. 新建一个普通的Java Application. 1.首先我们需要一个java类,用来调用native code(尽管此时native cod... 阅读全文

posted @ 2013-07-17 10:34 zhizhizhiyuan 阅读(329) 评论(0) 推荐(0) 编辑

2013年5月26日

Master Theorem

摘要: 关于时间复杂度分析,算法导论中介绍了master theorem。不过我发现和网上看到的一些版本不一样。主要区别就在于情形二。后来经过对比,发现网上的一些版本是覆盖了算法导论中介绍的情况的。维基百科上的说得比较清楚,鉴于master theorem的重要性,记于此。递推关系式:,其中情形一:如果存在常数,有 ,那么 情形二:如果存在常数k≥0,有 ,那么 情形三:如果存在常数,有,同时存在常数以及充分大的,满足那么 阅读全文

posted @ 2013-05-26 09:40 zhizhizhiyuan 阅读(292) 评论(0) 推荐(0) 编辑

导航