2.3.21
#
解答
#
首先引入命题 I 的结论,对于互不相同的主键值,基于比较的排序算法的下界等于所形成的比较树的高度,即:
h≥log2N!
那么我们题目即可转化为求证
h≥log2(f1!f2!⋯fk!N!)≥log2N!
这里的 fi 为某个主键值出现的频率,即某个主键值出现的次数,因此 fi≥1 。
根据题目给出的条件,如果主键互不重复,此时 k=N,且 f1=f2=⋯=fk=1 。
那么 f1!f2!⋯fk!=1 ,待证式子即为命题 I 的结论。
那么当主键有重复时,此时 k<N,为使 f1+f2+⋯+fk=N ,至少存在一个 fm≥2。
故此时:
f1!f2!⋯fk!>1⇒f1!f2!⋯fk!N!<N!⇒h≥log2(f1!f2!⋯fk!N!)≥log2N! ■
得证。
另请参阅
#
lower bounds of sorting-The University of Maryland