回复

子不语

2018年10月13日

说起归并算法,我不说概念性的东西。举个例子就可以看出来了

原数列:6   202   100   301   38   8   1
第一次:{6   202 },{100  301},{8   38},{1}  比较3次            6和202   100和301   38和8
第二次:{6  100  202   301},{1  8  38}            比较4次            6和100    100和202   202和301    1和8
第三次:{1   6   8  38  100  202  301}               比较4次            1和6        6和8     8和100    38和100
则总共比较次数是  3+4+4=11次
如果序列是  1   6   8   38   100   202   301
第一次:{1  6},{8   38},{100   202},{301}   比较3次
第二次:{1   6  8   38},{100 202  301}            比较4次
第三次:{1   6   8  38  100  202  301}               比较4次
总共11次
如果序列是 301   202  100  38  8  6  1
第一次:{202   301},{38  100},{6   8},{1}   比较3次
第二次:{38 100 202 301},{1   6   8}              比较3次
第三次:{1   6   8  38  100  202  301}               比较3次
总共是9次

则可以说明归并排序的比较次数和序列的初始顺序有关

0 0
回复
暂无回复
查看更多
我要回复