python实现Fibonacci和二分法

简介:

最简单的实现Fabonacci代码:


def Fibonacci(n):
    if n <= 1:
         return 1
    else:
         return Fibonacci(n-1) + Fibonacci(n-2)

我们可以用一个数组存储,牺牲空间换取时间,避免多次无效求值


代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->代码
list = [1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]

def Fibonacci(n):
    if list[n] != 0:
        return list[n]
    else: 
        list[n] = Fibonacci(n-1) + Fibonacci(n-2) 
        return list[n]

二分法


代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->def BinarySearch(numbers,x,n):
    left = 0;right = n - 1
    while(left <= right):
        middle = (left + right)/2
        if numbers[middle] == x:
            return middle + 1
        elif numbers[middle] > x:
            right = middle-1
        else:
            left = middle + 1
    else:
        return -1


相关文章
|
7月前
|
SQL Python
基于 sqli-labs-Pass08,利用Python 实现 SQL盲注(含二分法)
基于 sqli-labs-Pass08,利用Python 实现 SQL盲注(含二分法)
|
2月前
|
Python
在Python中实现斐波那契数列(Fibonacci sequence)的4中方法
在Python中实现斐波那契数列(Fibonacci sequence)的4中方法
289 0
|
6月前
|
Python
【Python 训练营】N_16 二分法查找
【Python 训练营】N_16 二分法查找
25 1
|
Python
Python实现因子分析(附案例实战)
Python实现因子分析(附案例实战)
1796 0
Python实现因子分析(附案例实战)
Python print() 打印两个 list ,实现中间换行
Python print() 打印两个 list ,实现中间换行
|
算法 大数据 Python
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
160 2
Leedcode 每日一练 搜索二维矩阵Ⅰ Python实现
|
机器学习/深度学习 算法 Python
利用python实现逻辑回归(以鸢尾花数据为例)
利用python实现逻辑回归(以鸢尾花数据为例)
284 0
利用python实现逻辑回归(以鸢尾花数据为例)
|
Python
Python 二分法和牛顿迭代法求算术平方根的一点小改进
Python 二分法和牛顿迭代法求算术平方根的一点小改进
99 0
|
存储 数据安全/隐私保护 计算机视觉
python 实现pacs功能 推送下拉影像
python 实现dcmtk关联pacs功能 推送下拉影像
292 0
python 实现pacs功能 推送下拉影像
|
前端开发 Python
Leecode加法题目3个 每日练习 Python实现
Leecode加法题目3个 每日练习 Python实现
115 0
Leecode加法题目3个 每日练习 Python实现