首页 > 试题广场 >

小米有品的消费记录分别为900,512,613,700,81

[单选题]

小米有品的消费记录分别为900,512,613,700,810,若采用选择排序算法对其进行递增排序,则第三趟排序结果为 ( )

  • 900 512 613 700 810

  • 512 900 613 700 810

  • 512 613 700 900 810

  • 512 613 700 810 900

感觉有点奇怪,有的选择排序往后插入,有的选择排序从前面插入,也不知道到底是哪个标准

发表于 2021-09-01 18:01:03 回复(3)
发表于 2021-07-05 02:29:02 回复(0)
递增选择排序:第一次从待排序的数据元素中选出最小的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小元素,然后放到已排序的序列的末尾,以此比较直到最后一个数

第一轮: 512 900 613 700 810
第二轮: 512 613 900 700 810
第三轮: 512 613 700 900 810
发表于 2021-08-10 21:13:43 回复(0)
选择排序第一轮将第一个数与后面的数(从第二个数开始)逐个进行比较,找出最大或最小(这里是递增,所以是找最小)的数,若小于第一个数,则将第一个数与之交换。交换完之后,第二个数与后面的数(从第三个数开始)逐个进行比较,找出最小值,若最小值小于第二个数则与之进行交换,反之,则不交换。以此类推。
发表于 2021-10-28 13:00:18 回复(0)

选择排序(Selection Sort)是一种简单的排序算法,它的工作原理是在未排序的元素中选择最小(或最大)的元素,并将其放置在已排序部分的末尾。这个过程不断重复,直到所有元素都被排序完成。选择排序的时间复杂度为O(n^2),其中n是待排序元素的数量,因此对于大规模数据集来说,不是最有效的排序算法,但它的实现非常简单。

下面是选择排序的基本步骤:

  1. 初始状态:将整个数组分为两部分,一部分是已排序部分,初始为空;另一部分是未排序部分,包括所有待排序的元素。

  2. 选择最小元素:从未排序部分中找到最小的元素,并记录其索引。

  3. 交换位置:将找到的最小元素与未排序部分的第一个元素交换位置。这样,最小元素就被移到已排序部分的末尾。

  4. 更新状态:已排序部分增加一个元素,未排序部分减少一个元素。重复步骤2和3,直到未排序部分为空。

  5. 完成排序:当未排序部分为空时,整个数组就已经完成排序。

发表于 2023-09-03 09:20:14 回复(0)
第一趟排序:512 900 613 700 810
第二趟排序:512 613 900 700 810
第三趟排序:521 613 700 900 810
第四趟排序:512 613 700 810 900(最终结果)
发表于 2022-09-19 23:33:57 回复(0)
理解起来就是,每一趟都是拿对应的那个和后面挨个比较,如果后面的那个小就互换位置。比如第一趟就是拿第一个和后面四个挨个比较,每一趟的目的都是把最小的那个放在对应的位置上。
发表于 2021-11-17 09:41:27 回复(0)