算法
火星人jw
热爱技术学习
展开
-
逆序打印任何集合中的所有项
问:编写一个历程,使用集合类API以逆序打印出任何集合中的所有项,不能使用ListIterator 答:既然要求是任何集合,那就必须编写一个通用的方法,Collection可以泛指集合类,java中可以申明AnyType来予以实现。而要实现逆序,则可以通过栈Stack来达到目的,因为栈是先进后出,通过先将集合类的所有项压入栈,然后再出栈,则可以实现逆序。具体方法代码如下: ...原创 2012-08-04 15:10:55 · 128 阅读 · 0 评论 -
利用数组快速实现斐波那契数
斐波那契数一般都是采用递归来予以实现的,但是这存在一个严重的问题——即使在相对较快的计算机上,计算F40需要大约一分钟的时间,就运行时间而言,这是很荒谬的,因为基本运算只需要39次加法。 根本问题是:递归历程执行了冗余计算,为了计算fib(n) ,我们递归的计算fib(n-1)。当递归使用另一个递归调用,我们计算fib(n-2)。不过,在计算fib(n-1)的过程中,我...2012-09-01 19:53:10 · 405 阅读 · 0 评论