• 选择排序


    选择排序和冒泡排序相比.少了一些交换,冒泡排序是发现有小的就换,选择排序和每个元素比较确定最小的菜交换位置

                时间复杂度:O[n2]

                性能优于冒泡排序

                稳定的排序算法

    public static void main(String[] args) {
            int[]arr={4,6,3,2,8,6,9};
            selectionSort(arr);
            for(int i:arr){
                System.out.print(i+",");
            }

        }
        /**
         * 简单选择排序
         * 时间复杂度:O[n*n]
         * 交换的次数大大减少,性能略优于冒泡排序
         * @param arr
         */
        public static void selectionSort(int[] arr){
            for(int i=0;i<arr.length-1;i++){
                int min=i;//min存储最小元素的角标
                for(int j=i+1;j<arr.length;j++){
                    if(arr[min]>arr[j]){
                        min=j;//发现有比最小元素小的元素时,将此元素的角标存在min中
                    }
                }
                if(min!=i){//判断当前arr[i]是否是最小元素,不是的话和最小元素交换位置
                    int a=arr[i];
                    arr[i]=arr[min];
                    arr[min]=a;
                }
            }
        }

  • 相关阅读:
    SLAM基础知识
    标准的机器学习问题
    LAS的数据格式
    Python中的多线程和多进程
    【go】log
    【亲密关系】3-吸引力
    【mysql】做 mariadb 的备库无法启动
    【zabbix-server】Supervising process xxxx which is not our child....exits
    【win10】添加程序自启动
    【Oralce】数据去重,限制某个字段的数据长度,替换空格符
  • 原文地址:https://www.cnblogs.com/2nao/p/6431460.html
Copyright © 2020-2023  润新知