二项堆和信息论的关系分析
如果是一个个数字插入到二项堆中,那可以看到二项堆所组成的小堆中所包含的元素个数的变化情况,是1,2,4,8。。。这样的过程。如果是一个个删除的话,显然可以看到相反的过程。
那我们先看稳定状态下的查找状况,查找最小的元素的时间复杂度是log n,调整恢复状态的时间复杂度也是log n.仔细想一下,这里log n的来源与多路归并中的层数确定方式是一样的,主要有如下关系存在log n <=log N (其中N是n的2最高可能级所代表的数字),比如n=33,37,48...,那N=64,n=65,100,110...,那N=128,也就是N最多是n的两倍。即有log n <=log N<=log 2*n<=log 2 + log n,也就是说是log n级别的。
如果是一个个数字插入到二项堆中,那可以看到二项堆所组成的小堆中所包含的元素个数的变化情况,是1,2,4,8。。。这样的过程。如果是一个个删除的话,显然可以看到相反的过程。
那我们先看稳定状态下的查找状况,查找最小的元素的时间复杂度是log n,调整恢复状态的时间复杂度也是log n.仔细想一下,这里log n的来源与多路归并中的层数确定方式是一样的,主要有如下关系存在log n <=log N (其中N是n的2最高可能级所代表的数字),比如n=33,37,48...,那N=64,n=65,100,110...,那N=128,也就是N最多是n的两倍。即有log n <=log N<=log 2*n<=log 2 + log n,也就是说是log n级别的。