论文部分内容阅读
【摘要】作者在编写斐波那契字符串前缀和算法程序过程中,通过具体观察、抽象思维和程序验证等方式,结合斐波那契数列特点,提出了一种简单而奇妙的算法,即Sn=nφ」,」表示取整,φ为黄金分割比5-12,将计算的时间复杂度从O(lg2n)降为O(1),运用数学归纳法予以证明,并得出了任意一段字符串的求和公式、任意一个字符是“0”或“1”的计算公式等相关推论.
【关键词】斐波那契字符串;前缀和;O(1)算法
一、斐波那契字符串前缀和常见算法的时间复杂度
(一)关于算法的时间复杂度
一个算法的语句执行总次数T(n)是关于问题规模n的函数,算法的时间复杂度就是分析T(n)随n的变化情况,确定T(n)的数量级,通常记为:T(n)=O(g(n)),其中,g(n)是问题规模n的某个函数.它表示随问题规模n的增大,算法执行时间的增长率和g(n)的增长率相同.一般地,T(n)关于n的数量级越低,算法越优.
(二)斐波那契字符串前缀和常见算法的时间复杂度
众所周知,斐波那契数列是1,1,2,3,5,8,…,即f1=1,f2=1,fi=fi-1 fi-2,i
【关键词】斐波那契字符串;前缀和;O(1)算法
一、斐波那契字符串前缀和常见算法的时间复杂度
(一)关于算法的时间复杂度
一个算法的语句执行总次数T(n)是关于问题规模n的函数,算法的时间复杂度就是分析T(n)随n的变化情况,确定T(n)的数量级,通常记为:T(n)=O(g(n)),其中,g(n)是问题规模n的某个函数.它表示随问题规模n的增大,算法执行时间的增长率和g(n)的增长率相同.一般地,T(n)关于n的数量级越低,算法越优.
(二)斐波那契字符串前缀和常见算法的时间复杂度
众所周知,斐波那契数列是1,1,2,3,5,8,…,即f1=1,f2=1,fi=fi-1 fi-2,i