首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >算法的运行时间

算法的运行时间
EN

Stack Overflow用户
提问于 2021-01-03 19:56:40
回答 2查看 42关注 0票数 2

我不知道为什么下面的算法的运行时间是O(nlogn)。有谁能帮帮我吗?

代码语言:javascript
运行
复制
public static boolean unique2(int[] data) {
  int n= data.length;
  int[] temp= Arrays.copyOf(data,n);
  Arrays.sort(temp);
  for (int j=0; j<n-1;j++)
    if (temp[j]==temp[j+1])
      return false;
  return true;
}
EN

Stack Overflow用户

发布于 2021-01-03 20:08:15

该算法包括两个主要部分:

  1. 使用int[]数组的标准Arrays.sort对数组进行排序。

在底层,它使用了平均O(n log n)时间复杂度的双轴心快速排序算法。

  1. for循环在排序数组中查找任何具有O(n)复杂度的重复值,这些值被更大的排序复杂度“吸收”。

因此,由此产生的复杂性是O(n log n)

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65549548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档