美文网首页
十大排序算法之选择排序

十大排序算法之选择排序

作者: 得_道 | 来源:发表于2020-08-26 09:39 被阅读0次
  • 执行流程
  1. 从序列中找出最大的那个元素,然后与末尾元素交换位置。(执行完一轮后,最末尾的那个元素就是最大的元素)
  2. 忽略1中找到的最大元素,重复执行步骤1
for (int end = array.length - 1; end > 0; end--) {
    int max = 0;
    for (int begin = 1; begin <= end; begin++) {
        if (cmp(max, begin) < 0) {
            max = begin;
        }
    }
    swap(max, end);
}
  • 选择排序的交换次数要远远小于冒泡排序,平均性能优于冒泡排序
  • 最好、最坏、平均时间复杂度:O(n2),空间复杂度:O

相关文章

  • Algorithm -- 排序算法

    单链表十大经典排序算法冒泡排序选择排序插入排序归并排序快速排序堆排序计数排序桶排序 1. 十大经典排序算法 十大经...

  • 排序算法概述

    十大排序算法:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序、希尔排序、计数排序,基数排序,桶排序 算法...

  • 十大排序算法

    算法说明 十大排序算法分别是:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序...

  • Python一行代码实现快速排序

    上期文章排序算法——(2)Python实现十大常用排序算法为大家介绍了十大常用排序算法的前五种(冒泡、选择、插入、...

  • 数据结构和算法排序(三)

    常见十大排序算法: 冒泡排序、选择排序、插入排序、快速排序、堆排序希尔排序、归并排序、计数排序、基数排序、桶排序 ...

  • 数据结构与算法(二):排序算法

    十大基础排序算法。 Basic-Sorting-Algorithm 关于十大基本排序算法的整理。 十大排序算法分别...

  • 十大经典排序算法(java实现)

    前言 本文我们将以java代码实现十大经典排序算法,包括冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序...

  • 十大经典排序算法——归并排序

    十大经典排序算法——系列文章 冒泡排序[http://www.ikeguang.com/?p=1447] 选择排序...

  • 十大经典排序算法——快速排序

    十大经典排序算法——系列文章 冒泡排序[http://www.ikeguang.com/?p=1447] 选择排序...

  • 十大经典排序算法——堆排序

    十大经典排序算法——系列文章 冒泡排序[http://www.ikeguang.com/?p=1447] 选择排序...

网友评论

      本文标题:十大排序算法之选择排序

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