首页 > 其他 > 详细

两个升序链表合并为降序链表

时间:2021-04-05 21:52:49      阅读:23      评论:0      收藏:0      [点我收藏+]

---

两个升序链表合并为降序链表

原文:https://blog.csdn.net/calculate23/article/details/97490628

技术分享图片

---注意算法中单次比较中大的一方下标不变,以此实现两两比较---

看了原文解释后个人理解如下,问题的求解无非两步:

求时间复杂度的步骤:

  1. 考虑最坏情况下的执行次数,例如

    l1: 1 3 5 7 9 (m=5)

    l2: 2 4 6 (n=3)

    数字穿插在两个链表中,需要比较m+n-1次

    (第一次:1和2比,1按头插法插入链表l3,继续;

    ? 第二次:2和3比,2插入l3,以此类推...

    ? 当链表l2走完后l1中剩余的7,9直接插入l3)

  2. 根据此执行次数得到对应的时间复杂度

    注意:时间复杂度不等于具体的执行步数,其作用是用来反映执行时间的数量级

    所以由加法规则可知:

    O(m+n-1)=O(max(m,n))

两个升序链表合并为降序链表

原文:https://www.cnblogs.com/potofsalt/p/14618721.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!