首页 > 编程知识 正文

二分检索算法思想(二分排序算法思想)

时间:2023-05-06 17:03:58 阅读:88362 作者:4021

在算法的基本思想(一)中,已经阐述了五种常用算法的基本思想,介绍了穷举算法的基本思想。 这里论述第二递归算法的基本思想。 递归算法是指根据已知条件,利用特定关系导出中间推理直到得到结果的简单算法。 递归算法有顺推和逆推两种。 高中数学和大学数学都有递归思想的应用,根据初始条件和部分结果,发表表示一般形式的递归公式。 在数学中,使用递归公式可以简化我们的加法运算和数列之间的数值运算。 如何利用计算机计算符合一定规律的问题,找到符合问题规律的解是人们关心的问题。

递推算法思想

递归算法是理性思维模型的代表,根据已知的数据和关系,逐步推导出结果。 具体算法的执行过程可以记述如下。

、根据已知结果和关系求解中间结果。 、判定是否满足要件,不满足时,继续根据自己的定义求出中间结果。 如果满足要求,就表示找到了正确的答案。 递归算法要求用户知道答案和问题逻辑的关系。 由于在很多数学问题上可以遵循明确的公式,所以大多使用递归算法来实现。

示例

是常见的数学递归问题,斐波那契数列的第n项,斐波那契数列可以用1 1 2 3 5 8 13 21 34 .的形式表示。 要求他的第n项,可以用公式如下记述

要解决这个问题可以用递归也可以不用递归,但是要用递归和非递归两种思路来解决问题。

# #递归求解

电子图形用户界面(n ) :

if n==1或n==2:

返回1

else:

T1=digui(n-1 ) ) )

T2=digui(n-2 ) ) )

返回t1 T2

# #非递归求解

defFeidigui(n ) :

f1=1 #第一项或f(n-2 ) ) )。

f2=1 #第二项或f(n-1) ) (注) ) (注) ) ) ) ) (注) ) ) ) (注) ) ) ) )注) ) )注) ) ) ) 0

f3=1 #第三项或f(n ) ) )。

财富(1,n ) :

f3=f1 f2

f1=f2

f2=f3

返回F3

if __name__=='__main__':

n=int (输入斐波那契数列的条目数: ) )

print (递归计算结果: ) ) ) ) ) ) )。

财富:

f=digui(I1) )。

打印(f,结束=' ' )

print((n非递归计算结果: ) ) ) ) ) ) ) )。

财富:

打印(菲迪GUI (I ),结束=' ' )

打印“”程序的执行结果如下。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。