leetcode二维数组-23:合并k个排序列表-https://leetcode.com/problems/merge-k-sorted-l

时间:2021-07-07 03:26:45
【文件属性】:
文件名称:leetcode二维数组-23:合并k个排序列表-https://leetcode.com/problems/merge-k-sorted-l
文件大小:2KB
文件格式:ZIP
更新时间:2021-07-07 03:26:45
系统开源 leetcode二维数组合并 k 个排序列表 #23 什么是分而治之的算法? 问题是什么? 看问题。 运行时和空间复杂度 mergeKLists()的运行时间为0(n*m)因为它需要一个大小为n的嵌套 for 循环,其中n是行数, m是列数。 这个嵌套的 for 循环是将 2D 数组展平为一维数组。 mergeSort()用于对扁平数组进行排序。 归并排序的平均运行时间是0(n log n) 。 这是因为数组被递归地分成两半,直到它不能再被分割,即到达单个元素。 当数组被“重建”或元素merge() ,它们也会被递归地比较和组合。 空间复杂度通常是未排序的二维数组中元素的数量。 但是我的实现使用临时数组作为占位符。 因此,此实现的空间复杂度是未排序二维数组中元素总数的两倍。
【文件预览】:
23-master
----KLists.java(4KB)
----.gitignore(278B)
----README.md(1KB)

网友评论