算法一
Posted petewell
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法一相关的知识,希望对你有一定的参考价值。
一、选择排序
定义:一种最简单的排序算法是这样的:首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。 这种方法叫做选择排序,因为它在不断地选择剩余元素之中的最小者。
- 请参考下面的例子
|
|
- 选择排序算法实现
|
|
- 选择排序算法时间复杂度为
|
|
|
|
二、插入排序
- 定义
为了给要插入的元素腾出空间,我们需要将其余所有元素在插入之前都向右移动一位。 这种算法叫做插入排序。 与选择排序一样,当前索引左边的所有元素都是有序的,但它们的最终位置还不确定,为了给更小的元素腾出空间,它们可能会被移动。 但是当索引到达数组的右端时, 数组排序就完成了。和选择排序不同的是,插入排序所需的时间取决于输入中元素的初始顺序。 例如,对一个很大且其中的元素已经有序(或接近有序) 的数组进行排序将会比对随机顺序的数组或是逆序数组进行排序要快得多。
|
|
以上是关于算法一的主要内容,如果未能解决你的问题,请参考以下文章