coursera-合并排序

来源:互联网 发布:自动控制鼠标的软件 编辑:程序博客网 时间:2024/06/01 07:34

合并排序算法实现

时间复杂度: O(nlog2n)

将递归调用模拟成递归树进行时间复杂度的计算

合并排序分三步:第一步将整体分为两部分,递归左叶子,第二步递归右叶子,

第三步合并左右叶子

其中,假设第N层叶子为j层,根节点为第一层

则共有log2n + 1层

对于模拟的递归树,第j层有2的j次方个子程序,每个子程序有n/2的j次方个参数

每个递归叶子也即第三部通过计算,其复杂度为6n

这样,只需要算每个递归层的复杂度,然后乘以层数,即是总的复杂度

0 0
原创粉丝点击