<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cathemlin的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cathemlin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cathemlin]]></copyright><item><title><![CDATA[递归算法改进---表存储代替冗余递推]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/57411869</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/57411869</guid><author>cathemlin</author><pubDate>Sun, 26 Feb 2017 13:22:43 +0800</pubDate><description><![CDATA[/**求解递归关系
 *Sum=C(0)+C(1)+...+C(N-1); 即求和运算
 *C(N)=(2/N) Sum +N
 **/
public static double eval( int n)
{
   if (n == 0)
      return 1.0;
   else
   {
      duoble sum= 0.0;
      for(int i= 0; i< n; i]]></description><category></category></item><item><title><![CDATA[递归算法改进---fibonaci 函数]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/57409492</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/57409492</guid><author>cathemlin</author><pubDate>Sun, 26 Feb 2017 13:00:58 +0800</pubDate><description><![CDATA[采用一个表代替递归/**
 *Compute Fibonaci numbers
 * f(0)=1, f(1)=1
 * f(n)= f(n-1)+ f(n-2);
 *程序效率低下，运行时间也是T(N) 成指数级增长
 */
public static int fib( int  n)
{
   if(n<= 1)
      return 1;
   else
      return fib(]]></description><category></category></item><item><title><![CDATA[快速选择]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/57078162</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/57078162</guid><author>cathemlin</author><pubDate>Sat, 25 Feb 2017 12:48:28 +0800</pubDate><description><![CDATA[选择第K个最大（小）元private static <AnyType extends Comparable<? super AnyType>>
void quickSelect(AnyType a, int left, int right, int k)
{
   if(left+ CUTOFF <= right)
   {
      AnyType pivot= median3(a, left,]]></description><category></category></item><item><title><![CDATA[实际快速排序 -分割策略]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/57077165</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/57077165</guid><author>cathemlin</author><pubDate>Sat, 25 Feb 2017 12:25:49 +0800</pubDate><description><![CDATA[快速排序，枢纽元（比较值）理论上选哪个都可以。实际快速排序包括划分策略 和递归调用。public static <AnyType extends Comparable<? super AnyType>>
void quicksort(AnyType [] a)
{
   quicksort(a, 0, a.length-1);
}private static final int CUTOFF= 3;]]></description><category></category></item><item><title><![CDATA[二叉堆]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/56910050</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/56910050</guid><author>cathemlin</author><pubDate>Fri, 24 Feb 2017 21:58:48 +0800</pubDate><description><![CDATA[堆是一颗完全被填满的二叉树，有可能的例外是在底层，底层的元素从左到右填满。完全二叉树 
二叉堆又可分为最大堆，最小堆。最小堆就是节点元素值小于等于两儿子。 
完全二叉树可以用一个数组表示，a[0] 位置空出（后面有用）对于数组任意位置i上的元素， 其左儿子在位置2i上，右儿子在位置2i+1上， 父节点在i/2上。因此不需要链。问题在最大的堆的大小需要事先估计，但是一般不成问题，可以调整大小。// B]]></description><category></category></item><item><title><![CDATA[排序--堆排序]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/56856904</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/56856904</guid><author>cathemlin</author><pubDate>Fri, 24 Feb 2017 20:22:37 +0800</pubDate><description><![CDATA[/**
 *heapsort
 */
private static int leftChild(int i)
{
   return 2 * i +1;
}private static <AnyType extends Comparable<? super AnyType>>
void percDown(AnyType [] a, int i, int n)
{
   int child;
   A]]></description><category></category></item><item><title><![CDATA[排序--希尔排序]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/56853356</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/56853356</guid><author>cathemlin</author><pubDate>Fri, 24 Feb 2017 20:06:39 +0800</pubDate><description><![CDATA[shellSort 又称为增量排序，间隔gap的位置组成的数组都各自排好序，再gap越来越小直到1，排好整个数组。public static <AnyType extends Comparable<? super AnyType>>
void shellSort(AnyType [] a)
{
   int j;   for(int gap= a.length/2; gap> 0; gap/=2)]]></description><category></category></item><item><title><![CDATA[排序--插入排序]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/56852463</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/56852463</guid><author>cathemlin</author><pubDate>Fri, 24 Feb 2017 19:49:15 +0800</pubDate><description><![CDATA[插入排序的基本思想，假设数组前面位置的元素已经排序好，新插入一个元素a[p],  由a[p]与前面a[p-1]比较，若a[p]public static <AnyType extends Comparable<? super AnyType>>
void insertSort(AnyType [] a)
{
   int j;   for(int p=1; p< a.length; p++)]]></description><category></category></item><item><title><![CDATA[二叉查找树]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/56037592</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/56037592</guid><author>cathemlin</author><pubDate>Mon, 20 Feb 2017 21:42:18 +0800</pubDate><description><![CDATA[取自JAVA书籍，数据结构与算法分析。其中remove方法添加了理解信息。1、整体源码结构public Class BinarySearchTree<AnyType extends Comparable<? super AnyType>>
{
   //二叉树结构
   private static class BinaryNode<AnyType>
   { /*-----*/}   privat]]></description><category></category></item><item><title><![CDATA[enumerations inherit Enum]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/55223862</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/55223862</guid><author>cathemlin</author><pubDate>Wed, 15 Feb 2017 21:18:30 +0800</pubDate><description><![CDATA[enum Apple{
   Jonathan, GoldenDel, RedDel, Winesap, Cortland
}class EnumDemo4{
   public static void main(String args[]) {
      Apple ap, ap2, ap3;
      //Obtain all ordinal values using ordinal().]]></description><category></category></item><item><title><![CDATA[Enum are Class Types]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/55223044</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/55223044</guid><author>cathemlin</author><pubDate>Wed, 15 Feb 2017 20:57:22 +0800</pubDate><description><![CDATA[* don't instantiate a enum using new
 *///Use an enum Constructor, instance variable, and method.
enum Apple{
   Jonathan(10), GoldenDel(9), RedDel(12), Winesap(15), Cortland(8);   private int price;]]></description><category></category></item><item><title><![CDATA[Enumeration基础]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/55222693</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/55222693</guid><author>cathemlin</author><pubDate>Wed, 15 Feb 2017 20:40:34 +0800</pubDate><description><![CDATA[//Enumberation Fundamentals
// method
/*
 *public static enum-type [] values();//returns an array
 *public static enum-type valueof(String str);//returns enumeration constant
 */
enum Apple {
   Jonath]]></description><category></category></item><item><title><![CDATA[String,StringBuilder,StringBuffer]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/55215544</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/55215544</guid><author>cathemlin</author><pubDate>Wed, 15 Feb 2017 20:05:30 +0800</pubDate><description><![CDATA[String constructor
String literals
String s="abc"//use string literal
   1: String s= new String();2:
String (char chars[])
String (char chars[], int startIndex, int numChars)n
example:
char chars[]={']]></description><category></category></item><item><title><![CDATA[Inner class 内部类]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/54985447</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/54985447</guid><author>cathemlin</author><pubDate>Sat, 11 Feb 2017 17:17:21 +0800</pubDate><description><![CDATA[class Outer {
   string outmember;
   static outmemberstatic;    //如果static class inner 则只能直接获取外部的static成员
   class Inner {
      string innermember;      void innerMethod(...){
         //可调用 outmembe]]></description><category></category></item><item><title><![CDATA[函数参数Variable-length Arguments]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/54985399</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/54985399</guid><author>cathemlin</author><pubDate>Sat, 11 Feb 2017 17:09:12 +0800</pubDate><description><![CDATA[class VarArgs {
   //vaTest() uses a vararg. int...v 必须最后
   static void vaTest(String msg, int...v) {
      System.out.println("Number of args: "+ v.length);
      System.out.println("Contents: ");]]></description><category></category></item><item><title><![CDATA[Bubble sort]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/54984688</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/54984688</guid><author>cathemlin</author><pubDate>Sat, 11 Feb 2017 16:32:13 +0800</pubDate><description><![CDATA[public class Bubble {
   public static void main(String args []) {
      int nums[]={99, -10, 100123, 18, -978,
                  5623, 463, -9, 287, 49};
      int a, b, t;
      int size= nums.length]]></description><category></category></item><item><title><![CDATA[快速排序算法]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/54984512</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/54984512</guid><author>cathemlin</author><pubDate>Sat, 11 Feb 2017 16:24:31 +0800</pubDate><description><![CDATA[class Quicksort {
   static void qsort(int items[]) {
      qs(items, 0, items.length-1);
   }   private static void qs(int items[], int left, int right)
   {
      int i, j;
      int x, y;      i= le]]></description><category></category></item><item><title><![CDATA[比较内存地址与内容]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/54981539</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/54981539</guid><author>cathemlin</author><pubDate>Sat, 11 Feb 2017 11:25:16 +0800</pubDate><description><![CDATA[A == B 比较的是两个的引用，是否指向同一块内存地址。 
A.equals(B) 比较的是A，B里面的内容是否相同，常需要复写 Class A 的equals 内容。//比较A，B里面内容是否相同 equals 方法。
public class A {
   String name;
   int age;   public A (String name, int age){
        t]]></description><category></category></item><item><title><![CDATA[abstract class 与 interface 异同点]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/54981334</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/54981334</guid><author>cathemlin</author><pubDate>Sat, 11 Feb 2017 11:05:26 +0800</pubDate><description><![CDATA[abstract class 类名称 //定义抽象类 
{ 
    声明数据成员；    //一般方法
访问修饰符 返回类型  方法名 （参数...）
{
....
}
abstract 返回值的数据类型 方法名称 （参数…); 
//没有实体 
}interface  InterfaceName  
{ 
final  Type  member= 常量；//数据成员必须赋初值abstract]]></description><category></category></item><item><title><![CDATA[Emacs 学习资料]]></title><link>https://blog.youkuaiyun.com/cathemlin/article/details/54866361</link><guid>https://blog.youkuaiyun.com/cathemlin/article/details/54866361</guid><author>cathemlin</author><pubDate>Sat, 04 Feb 2017 21:56:20 +0800</pubDate><description><![CDATA[常规的Emacs基本操作，网上一大推，下面主要推荐下之前几个好的配置Emacs 
1、大神配置的 ps.纯英文, 很受用
  http://tuhdo.github.io/index.html
2、其他
  http://cmgm.stanford.edu/classes/unix/emacs.html 
  http://gongzhitaao.org/dotemacs/ 
  http://er]]></description><category></category></item></channel></rss>