算法导论6-2d叉堆分析

来源:互联网 发布:mac无法格式 化u盘日志 编辑:程序博客网 时间:2024/04/30 19:37
d叉堆其实就是每个非叶结点有d个子女

(1)结点i的父亲结点编码:floor{(i − 2)/d + 1}

    结点i的第j个孩子结点:d(i-1)+j+1

(2)含n个元素的d叉堆的高度:floor{logd[n(d-1)]}

(3)Extract_Max同样是返回第一个元素,并通过Max_Heapify保持最大堆性质,不同的是在Max_Heapify里可能需要将待调整的元素与其d个孩子元素比较,因此Max_Heapify的运行时间为O(dh),h为堆的高度。

(4)Insert和Increase_Key(A,i,k)的运行时间均为O(h),h为堆的高度。

原创粉丝点击