leetcode二维数组合并k个排序列表#23 什么是分而治之的算法? 问题是什么?看问题。运行时和空间复杂度 mergeKLists() 的运行时间为 O(n*m) ,因为它需要一个大小为 n 的嵌套 for 循环,其中 n 是行数,m 是列数。这个嵌套的 for 循环是将二维数组展平为一维数组。mergeSort() 用于对扁平数组进行排序。归并排序的平均运行时间是 O(n log n) 。这是因为数组被递归地分成两半,直到它不能再被分割,即到达单个元素。当数组被“重建”或元素 merge() ,它们也会被递归地比较和组合。空间复杂度通常是未排序的二维数组中元素的数量。但是我的实现使用临时数组作为占位符。因此,此实现的空间复杂度是未排序二维数组中元素总数的两倍。
暂无评论