美文网首页
2.5 应用

2.5 应用

作者: EnjoyChen | 来源:发表于2017-07-24 14:49 被阅读0次

    一 将各种数据排序

    1.1 交易事务

    商业数据处理

    1.2 指针排序

    C和C++中,需要明确地指出操作的是数据还是指向数据的指针,而在Java中,指针操作是隐式的。除了原始数据类型之外,我们操作的总是数据的引用(指针)。

    1.3 不可变的键

    例String、Integer、Double和File都是不可变的。

    1.4 廉价的交换


    1.5 多种排序方法

    Java的Comparator接口允许我们在一个类中实现多种排序方法。

    1.6 多键数组

    Comparator接口

    1.7 使用比较器实现优先队列


    1.8 稳定性

    稳定的(插入排序和归并排序)

    不稳定(选择排序、希尔排序、快速排序和堆排序)

    有很多办法能够将任意排序算法变成稳定的。

    有时候稳定性没有必要,而且维持稳定性需要用大量额外的时间和空间。

    二 我应该使用哪种排序算法

    如果稳定性很重要而空间又不是问题,归并排序可能是最好的。

    2.1 将原始类型数据排序

    一些性能优先的应用可能是将数字排序,因此更合理的做法是跳过引用直接将原始数据类型的数据排序。

    2.2 Java系统库的排序算法

    java.util.Arrays.sort()


    三 问题的归约

    3.1 找出重复元素

    3.2 排名

    3.3 优先队列


    3.4 中位数与顺序统计

    相关文章

      网友评论

          本文标题:2.5 应用

          本文链接:https://www.haomeiwen.com/subject/uxumkxtx.html