斐波拉契堆是由一组最小堆有序树组成,每棵树遵循最小堆性质,并且每棵树都是有根而无序的。所有树的根通过left和right指针来形成一个环形的双链表,称为该堆的根表。
对于一个给定的斐波拉契堆H ,可以通过指向包含最小关键字的树根指针H.min来访问。堆中每个节点还包含x.mark,x.degree两个域,x.degree表示x的子女表中的子女个数;x.mark表示从x上次成为另一个节点子女...
分类:
编程语言 时间:
2015-07-18 17:14:13
阅读次数:
228
先通过表的扩增这一例子来引入今天的主题——平摊分析和势能分析
一个哈希表的大小应该为多少比较合适?
theta(n)比较合适
可是万一我们不知道n是多大呢
使用动态表解决 溢出就建立一个大小翻倍的空间,然后复制过去
这样做插入的最坏时间复杂度为n
让我们看看平均的时间复杂度,每次基本插入操作为1,空间溢出时需要开一个更大一倍的空间,并复制当前的元素过去,所以空...
分类:
编程语言 时间:
2015-04-27 00:31:33
阅读次数:
189