第二章 排序(2.1 初级排序算法)


第二章 排序(2.1 初级排序算法)_第1张图片


1.3 额外的内存使用

1.4 数据类型

第二章 排序(2.1 初级排序算法)_第2张图片


在创建自己的数据类型时,我们只要实现Comparable接口就够保证用例代码可以将其排序。

要做到这一点,我们只需要实现一个comparaTo()方法来定义目标类型对象的自然次序。

第二章 排序(2.1 初级排序算法)_第3张图片

总之,comparaTo()实现了我们的主键抽象——它给出了实现了Comparable()接口的任意数据类型的对象的大小顺序的定义

二 选择排序

第二章 排序(2.1 初级排序算法)_第4张图片

运行时间和输入无关

数据移动是最少的,交换次数和数组的大小是线性关系

三 插入排序

第二章 排序(2.1 初级排序算法)_第5张图片


运行时间取决于输入中元素的初始顺序

第二章 排序(2.1 初级排序算法)_第6张图片

插入排序对于某些类型的非随机数组很有效,它的运行时间是线性的


1.5 比较两种排序算法


1.实现并调试它们

2.分析它们的基本性质

3.对它们的相对性能作出猜想

4.用实验验证我们的猜想


第二章 排序(2.1 初级排序算法)_第7张图片

1.6 希尔排序



第二章 排序(2.1 初级排序算法)_第8张图片


第二章 排序(2.1 初级排序算法)_第9张图片

你可能感兴趣的:(第二章 排序(2.1 初级排序算法))