选择算法
来源:互联网 发布:python 股票回测系统 编辑:程序博客网 时间:2024/06/08 10:08
选择排序两个鲜明的特点:
- 运行时间和输入无关:为了找出最小的元素而扫描一遍数组并不能为下一趟扫描提供任何有用的信息。一个已经有序的数组或者是元素全部相等的元素和一个随机排序的数组所用的排序时间一样长。
- 数据移动是最少的:显然可见,移动数据只发生在是外层循环中。故选择排序只用了N次交换,这是其他大部分算法不具备的。
package com.algorithms;import java.util.Arrays;public class Sort {private static int compareTo(double x, double y){if(x < y){return -1;}else if(x > y){return 1;}else{return 0;}}private static void exchange(double[] A, int i, int j){double temp = A[i];A[i] = A[j];A[j] = temp;}public static void selectionSort(double[] A){int N = A.length;for(int i = 0; i < N; ++i){int min = i;for(int j = i + 1; j < N; ++j){if(compareTo(A[min], A[j]) == 1){min = j;}}exchange(A, i, min);}}public static void main(String[] args){double[] A1 = {5, 7, 1, 0, 4, 9, 2, 3, 8, 6};selectionSort(A1);System.out.println(Arrays.toString(A1));}}
阅读全文
0 0
- “选择算法”
- 算法 选择
- 选择算法
- 选择算法
- 选择算法
- 选择算法
- 选择算法
- 选择算法
- 算法:选择
- 选择算法
- 选择算法
- 排序算法 选择算法
- 算法:选择排序算法。
- 选择算法(选择排序)
- 算法笔记(选择算法)
- 算法(选择排序的算法)
- 算法_选择排序算法
- 查找算法---快速选择算法
- iOS之RAC实现UIScrollView刷新
- 学习笔记--ArrayList的用法
- css设置背景
- js判断滚动条是否到底部
- 剑指offer 从头到尾打印链表
- 选择算法
- 关于表单提交数据遇到的HTMLInputElement问题
- protoBuf 入门流程图
- wait和notify
- lbp
- JAVA中几种字符串翻转的方法
- HDU-2955 Robberies (01背包 入门题)
- win10下的文件和打印机共享
- hive 动态分区