开发者社区> 问答> 正文

有没有一种方法可以衡量列表的排序方式?

有没有一种方法可以衡量列表的排序方式?

我的意思是,这不是要知道列表是否已排序(布尔值),而是诸如“排序”之比,诸如统计中的相关系数之类的东西。

例如,

如果列表中的项目按升序排列,则其比率为1.0

如果列表降序排列,则其速率将为-1.0

如果list几乎升序排列,则其速率将是0.9或接近1的某个值。

如果列表根本不排序(随机),则其速率将接近0

我正在Scala中写一个小型图书馆进行练习。我认为排序速率会很有用,但我找不到有关此类信息的任何信息。也许我不知道这个概念的适当术语。

展开
收起
保持可爱mmm 2020-02-06 23:11:40 450 0
1 条回答
写回答
取消 提交回答
  • 列表(或其他顺序结构)的排序方式的传统度量是反转次数。

    反转数是a <b AND b <<a的st索引对(a,b)的对数。为了这些目的,<<表示您为特定排序选择的任何排序关系。

    完全排序的列表没有反转,而完全颠倒的列表具有最大反转数。

    问题来源于stack overflow

    2020-02-06 23:12:01
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
4个迭代,从批量交...1573957773.pdf 立即下载
重新定义计算的边界 立即下载
用计算和数据去改变整个世界 立即下载