每日轻松学算法(选择)

1. 原理

  • 选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

2. 思路

在这里插入图片描述

3. 动图演示

每日轻松学算法(选择)_第1张图片

4. 代码实现

package cn.itcast;

public class SelectionSort {
     

    public static void main(String[] args) {
     
        //定义整形数组
        int arr[]={
     3,38,5,44,15,36,26,27,2,47,46,4,19,50,48};
        //调用选择排序方法
        int arrays[]=selectionSort(arr);
        //遍历输出结果
        for (int a : arrays) {
     
            System.out.print(a+" ");
        }
    }
    //选择排序
    public static int[] selectionSort(int[] array){
     
        if(array.length==0)
            return array;
        for (int i = 0; i < array.length; i++) {
     
            //初始化最小值下标
            int minIndex=i;
            for(int j=i;j<array.length;j++){
     
                if(array[j]<array[minIndex])
                    //找到最小数
                    minIndex=j;//将最小数的索引保存
            }
            //交换值
            int temp=array[minIndex];
            array[minIndex]=array[i];
            array[i]=temp;
        }
        return array;
    }
}

运行结果

每日轻松学算法(选择)_第2张图片

5. 算法分析

最佳情况:T(n) = O(n2) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(n2)

你可能感兴趣的:(笔记)