Java:检查数组是否相等(顺序无关紧要)

Java:检查数组是否相等(顺序无关紧要),第1张

Java:检查数组是否相等(顺序无关紧要)
  • Arrays.sort(s1);
  • Arrays.sort(s2);
  • Arrays.equals(s1,s2);

如果您不想修改原始数组

 Arrays.equals( Arrays.sort( Arrays.copyof(s1,s1.length)),     Arrays.sort( Arrays.copyof(s2,s2.length)) );

Arrays.sort()使用优化的快速排序,其平均平均值为nlog(n),但在最坏的情况下为O(n2)。来自Java文档。因此,最坏的情况是O(n2),但在大多数情况下实际上是O(nlogn)。

排序算法是一种经过优化的快速排序,它是根据乔恩·本特利(Jon L. Bentley)和道格拉斯·麦克罗伊(M. Douglas
McIlroy)的“工程设计排序功能”(软件实践和经验,第二版)改编而来的。23(11)P.1249-1265(1993年11月)。该算法在许多数据集上提供n* log(n)性能,从而导致其他快速排序降级为二次性能。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5428318.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存