美文网首页
SelectionSort—选择排序

SelectionSort—选择排序

作者: JiangCheng97 | 来源:发表于2019-03-10 15:49 被阅读0次

选择排序

选择排序算法的运作如下:

  1. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
  2. 然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
  3. 以此类推,直到所有元素均排序完毕。

选择排序复杂度分析

时间复杂度O(N^2),额外的空间复杂度O(1)

源码

public class SelectionSort{
    public static void selectionSort(int[] arr){
        if( arr == null || arr.length < 2){
            return;
        }
        for(int i=0; i<arr.length-1; i++){
            int minIndex = i;
            for(int j=i+1; j<arr.length; j++){
                if(arr[minIndex]>arr[j]){
                    minIndex = j;
                }
            }
            swap(arr,i,minIndex);
        }
    }
    
    public static void swap(int[] arr,int i, int j) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
}

相关文章

  • Swift3.0 选择排序

    选择排序SelectionSort.swift如下: Terminal运行swift SelectionSort....

  • SelectionSort—选择排序

    选择排序 选择排序算法的运作如下: 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置然后,再从剩余未...

  • SelectionSort选择排序

    /* @Author: sumBorn @Date: 2022-02-23 21:57:10 @Descripti...

  • Python可视化排序算法!

    排序可视化 SelectionSort 选择排序很简单,所有的排序算法在前面的博客都有讲解: https://ww...

  • [排序基础]选择排序法SelectionSort

    测试结果: 选择排序在第i轮(i从0开始),找到 [i, n) 这个区间里的最小值,之后和第i个元素交换位置。也就...

  • 第二章:排序基础

    选择排序算法(selectionSort) 算法思想: 算法图示: 使用模板(泛型)编写算法:随机生成算法测试用例...

  • 经典算法-选择排序(SelectionSort)

    原理 每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一趟在n-...

  • python实现选择排序(SelectionSort)

    python实现【选择排序】 算法原理及介绍 选择排序(Selection-sort)是一种简单直观的排序算法。它...

  • 选择排序

    选择排序SelectionSort 介绍: 学习它之前首先要知道它的两个很鲜明的特点。 1. 运行时间和输入无关 ...

  • Java中的经典算法之选择排序(SelectionSort)

    选择排序其实没有那么难,简单的理解就是从,第一个一次对比后面的每一个,第二个一次对比后面的每一个,直到最后,小了就...

网友评论

      本文标题:SelectionSort—选择排序

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