- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
是否有可能在预排序序列中给定数量的元素和该序列的倒置数或 Pearson r 找到最佳排序算法?
例如,我有一个预排序的 262143
元素序列。
最大反转数由 (n(n-1))/2
提供,其中 n
是序列中元素的数量(参见 here page 2对于这个假设)。对于此示例,最大值为 34359345153
。
现在我的预排序序列的反转次数是 1299203725
,这是最大值的 3.78%
。我的 Pearson 的 r 是 0.9941
。根据我的理解,这应该是一个具有高“排序”的预排序序列(如果我错了请更正我)。
我发现很多关于反转次数和 Person 的 r 的引用作为定义序列“排序性”的一种方式,但我无法对元素和反转的数量/Pearson 的 r 进行某种排序算法的比较是首选之一。
感谢您的帮助。
最佳答案
如果您假设您的排序算法是基于比较的,那么传统排序算法(如合并排序)的最坏情况 O(n log n) 时间可能很难超过。我相信,为了做得一样好或更好,您可能不得不假设反转次数为 O(n log n),远小于最坏情况下的 O(n^2)。然后,如果您有 O(n) 次反转,并且只要一个元素与其左邻元素形成反转,您就一直向后交换,那么类似冒泡排序的运行速度可能与 O(n) 时间一样快。
关于algorithm - 通过倒数/Pearson's r 找到最优排序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29680194/
我正在尝试在r中编写代码,以便找到单变量正态分布的最大似然(而不是对数似然)值。我知道还有其他方法,但是我需要深入了解数值优化才能进行进一步的工作。当我调用'optim'函数时,它似乎根本不会进行迭代
最近我一直在用 php + mysql 做一个相当大的项目。现在我担心我的 mysql。我应该怎么做才能使我的 mysql 尽可能优化?把你知道的都说出来,我将非常感激。 第二个问题,我在每次加载页面
我不太了解 InitializeCriticalSectionAndSpinCount 的文档: http://msdn.microsoft.com/en-us/library/windows/des
我们公司有几种不同的获取潜在客户的方式,以及我们处理的几种类型的潜在客户。每种类型的潜在客户之间只有微小的差异,并且大部分信息与一种或多种其他潜在客户类型共享或相关。我和我的团队正在尝试使用 Solr
ϵ-贪婪策略 我知道 Q-learning 算法应该尝试在探索和利用之间取得平衡。由于我是该领域的初学者,因此我想实现一个简单版本的探索/利用行为。最佳 epsilon 值 我的实现使用 ϵ 贪婪策略
我是一名优秀的程序员,十分优秀!