Pell堆,就像Fibonacci堆一样

时间:2011-08-10 18:53:06

标签: data-structures fibonacci-heap

是否存在基于Pell序列(或Pell编号)而非Fibonacci编号(如Fibonacci堆)的堆?

2 个答案:

答案 0 :(得分:3)

有一点需要注意的是,Fibonacci堆并不是真正“基于”斐波纳契数(它的结构看起来并不像斐波那契数字那样);它是Fibonacci堆的分析,其中出现Fibonacci数。您使用Fibonacci序列将n个元素堆中的树数限制为与第n个Fibonacci数相关的值,从而证明某些操作的最坏情况行为不能比O(log n)差。 )。

至于你关于Pell数的问题,我不知道任何依赖于序列的数据结构(我实际上之前没有遇到过那个序列!)。 Fibonacci序列产生了很多,而不是其他类似的复发序列,因为序列的许多有趣特性不一定适用于其他复发关系;我写了关于这个in my answer to this question的文章。我认为Pell数字可能在某些数据结构或分析中可用,但是我遇到的任何数据结构或算法似乎都没有出现满足递归关系所需的结构。

编辑:我在分析某些值序列时找到了一篇使用Pell数字的有趣论文,您可以找到here.

希望这有帮助!

答案 1 :(得分:0)

# Pell number using python without any functions
import sys

num = int(input("Enter a positive number: "))
if num <= 0:
  sys.exit("invalid input please try again")
a = 0
b = 1
c = 0
if num == 1:
  print("Pell number is {}".format(a))
elif num == 2:
  print("Pell number is {}".format(b))
elif num >= 3:
  counter = 3
while (counter <= num):
  answer =  a + (b*2)
  a = b
  b = answer
  counter +=1
print("Pell number is {}".format(answer))