将N条长度均为M的有序链表进行合并,合并以后的链表也保持有序,时间复杂度为?


    利用堆来合并,( O(N) + O(log N * N )) * M。
  先利用最链表第一个数,N个数建立堆,复杂度 O (N)
  重构堆,并排序,复杂度 O(logN * N )
  每个链表M个数,上述两步重复M次。结果为
  M * (O(N) + O(logN * N))= O (M * N * logN)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM