一、记忆化搜索 斐波那契算法 1.递归代码(时间复杂度O(2^n)): int f(int n){ if(n == 1 || n == 2){ return 1; } return f(n-1) + f(n-2); } 2.递归加记忆化 public class Solution{ int[] re ...
分类:
其他好文 时间:
2019-11-17 12:52:18
阅读次数:
72
递归算法虽然容易理解,但我们可能时常忘记使用它。我就只记得算法课上老师讲过的场景:斐波那契数列,汉诺塔这两个例子。偶尔看到b站上一个C语言视频里面用递归求解进制转换的例子,突然之间恍然大悟,想着记录下来。 下面是一个求解二进制的程序代码 ...
分类:
其他好文 时间:
2019-01-26 23:48:50
阅读次数:
305
回顾分治算法分治算法的英文名叫做“divide and conquer”,它的意思是将一块领土分解为若干块小部分,然后一块块的占领征服,让它们彼此异化。这就是英国人的军事策略,但我们今天要看的是算法。如前所述,分治算法有3步,在上一篇中已有介绍,它们对应的英文名分别是:divide、conquer、combine。接下来我们通过多个小算法来深化对分治算法的理解。二分查找算法问题描述:在已排序的数组A...
分类:
编程语言 时间:
2015-05-27 01:02:28
阅读次数:
383
做一道斐波那契算法问题,结果运行超时public class Solution { public int Fibonacci(int n) { if(n == 0){ return 0; } if(n == 1){ return 1; } re...
分类:
编程语言 时间:
2015-04-08 14:49:33
阅读次数:
261
程序由Scheme语言编写,待会上别的语言实现。#lang racket;斐波那契对数法;筛选(define (fib n) (fib-iter 1 0 0 1 n)) (define (square x) (* x x)) (define (fib-iter a b p q count) (...
分类:
编程语言 时间:
2015-01-19 22:17:58
阅读次数:
201
/***Date : 2014.12.10***/
//递推算法:是理性思维模式的代表,根据已有的数据和关系,逐步推导而得出结果。
//执行过程:1)根据已知的结果和关系,求解中间结果。
///////////////////// 2)判断是否满足要求,若未满足,则继续根据已知结果和关系求解中间结果;若满足要求,则表示寻找到一个正确答案。
//13世纪,意大利数学家斐波那契的《算盘书》中记...
分类:
编程语言 时间:
2014-12-11 00:20:59
阅读次数:
165