Feng.Li's Java See

抓紧时间,大步向前。
随笔 - 92, 文章 - 4, 评论 - 48, 引用 - 0
数据加载中……

置顶随笔

[置顶]JVM使用方法区信息例子

     摘要: 本文是对JVM使用方法区信息的一个归纳,并以一个例子作为说明进行讲解,希望有兴趣的朋友进来讨论。  阅读全文

posted @ 2006-12-14 12:05 小锋 阅读(1335) | 评论 (1)编辑 收藏

2008年4月22日

精解递归程序设计

     摘要: 对递归程序设计的精解  阅读全文

posted @ 2008-04-22 01:15 小锋 阅读(100) | 评论 (0)编辑 收藏

2008年4月18日

复杂递归程序框架

 

较为复杂的递归问题的程序一般结构如下
(1)sub recursien(n)
(2) if满足出口条件then
(3) 出口操作|
(4) d
(5) 第n层的准备性操作P(n);
(6) 第n层具休性操作G(n)|
(7) 进入探层递归前的恢复性操作H(n);
(8) 进入深层递归reeurslon(n一1)
(9) endif
(10)end sub

posted @ 2008-04-18 07:00 小锋 阅读(67) | 评论 (0)编辑 收藏

2008年4月17日

N重循环程序框架

 int[] a  = new int[N+1];
 int i,k;
 for(i=1;i<=n;i++)
    a[i] = left[i];
 k = n;
 while(k>=1) 
  {
     执行循环体内该做的事
   
  while (a[k] + step[k]>right[k])
       {
          a[k] =  left[k] ;
          k--;
        }
  if(k==0)break;//此处也可以为continue;
 a[k] = a[k] + step[k];
 k = n;
 }
}

 

posted @ 2008-04-17 04:46 小锋 阅读(76) | 评论 (0)编辑 收藏

2008年4月16日

全排列的非递归算法



= malloc(n * sizeof(int));
for (i = 0; i < n; i++)
   p[i] 
= i;

output(p, n);

for (i = n - 1; i > 0; i--)
   
if (p[i] > p[i - 1])
   {
      
for (j = n - 1; p[j] < p[i - 1]; j--);
      swap(
&(p[i - 1]), &(p[j]));

      
for (j = i, k = n - 1; j < k; j++, k--)
         swap(
&(p[j]), &(p[k]));

      ouput(p, n);
      i 
= n;
   }

free(p);

posted @ 2008-04-16 02:25 小锋 阅读(96) | 评论 (0)编辑 收藏

2008年3月10日

DAO模式

     摘要: 转载,关于DAO模式  阅读全文

posted @ 2008-03-10 14:54 小锋 阅读(228) | 评论 (0)编辑 收藏

2008年1月29日

关于Java的传值问题,个人感觉书上说的都不好,请进来听听我的看法。

 关于值传递和引用传递的问题,我想很多人刚开始学的时候都会很迷惑,特别是有些书的文学水平实在不敢恭维。
在此,我特在此对Java的传值和传址提出我自己的一个看法,也许让你能对这个问题的理解起到帮助。
        首先:值传递是很好理解的。比如:
        public   class   test   {
      int   a   =   3;
      public   void   plus(int   b){
        b     =   b+1;
        }
        public   static   void   main(String   args[])
      {
        test   t   =   new   test();
        t.plus(t.a);
        System.out.println(t.a);
      }
      }
    输出的结果是3.这就是值传递。其实我们可以这样理解:
          在plus(int   b)函数里,int   b是作为这个函数的一个局部变量,在调用这个函数的时候开始位这个变量的内存空间。当我把变量a传给这个函数的时候,实际上是把a变量当时的值拷贝一个放到变量b的分配空间里,b   =   b+1;这句改变的只是函数的局部变量b的值,当调用结束的时候,变量b的作用范围也就结束了,而你在什么时候修改了变量a的分配空间呢?当然是没有啦(除非你理解成变量a的空间整个放进b的空间里:))

      而所谓的引用传递,我觉得这个名次起的很混淆视听。以我自己的理解,一切传递都是拷贝传递。因为对象的标识符代表的是对象的存储地址,所以你把对象的标识符号传递给函数的时候,实际上是把对象地址的拷贝传递给了函数。虽然也是拷贝,但是2个地址拷贝都是指向一个地址的,所以如果在函数里修改了对象,那么也实际上就修改了原先的值.
归根到底一句话:Java一切参数的传递都是拷贝传递!

posted @ 2008-01-29 15:03 小锋 阅读(1046) | 评论 (4)编辑 收藏

2008年1月25日

数学与科技

     摘要: 丘成桐:数学与科技  阅读全文

posted @ 2008-01-25 10:35 小锋 阅读(89) | 评论 (0)编辑 收藏

2008年1月15日

无后效性:(DP)

   首先,请注意无后效性一般是针对问题的分析方式的,不是描述一个问题的。  
   
  我们说某问题不具有无后效性往往是指他的通常解法不具有这种性质,而如果我们把状态定义成满足无后效性原理  
  的方式,状态太多,也没有意义。  
   
  无后效性,就是说当前状态是历史的完全总结,和如何达到这一个状态无关。  
   
  例如,对于这道单词接龙的题目,每个单词最多用两次。  
  那么“当前接到的单词”就不能概括整个“历史”,因为同样是接到的这个单词,以前考虑过的单词究竟是用过  
  没有,用过多少次,将同样影响今后的发展,而单一的状态参量无法概括这些信息。如果把这些信息加到状态  
  参量中,状态太多(指数级),动态规划也没有多大意义。  
   
  如果影响历史的信息并不多,我们可以通过升维的方法让我们的状态具有无后效性,  
  所以我们在思考状态的时候,指导思想就是“简洁而又完全的概括历史”  

posted @ 2008-01-15 15:59 小锋 阅读(104) | 评论 (0)编辑 收藏

转载(ACM国际大学生程序设计大赛)

     摘要: 一篇关于ACM的文章,有时间的朋友可以进来看看  阅读全文

posted @ 2008-01-15 15:15 小锋 阅读(324) | 评论 (1)编辑 收藏

2008年1月8日

tsp递归程序实现(Java)(zz)

     摘要: TSP程序的递归实现  阅读全文

posted @ 2008-01-08 16:15 小锋 阅读(133) | 评论 (0)编辑 收藏