算法策略之蛮力法
来源:互联网 发布:it培训 先入职再交钱 编辑:程序博客网 时间:2024/05/23 19:19
蛮力法:一种简单直接的解决问题的方法常常直接基于问题的描述和和所涉及的概念定义。
选择排序
选择排序的思路如下:
1.遍历整个列表,找到最小的元素,并将最小元素和第一元素交换。
2.从第二个元素开始遍历列表,找到最后n-1个元素中最小的数,再和第二元素交换。
3.以此类推,在对该列表进行第i次遍历的时候 ,在最后n-i个元素中找到最小的元素,把它和列表中的第i个元素交。
下图给出了对数组[88,46,87,90,23,17]所进行操作
|88 46 87 90 23 17
17| 88 46 87 90 23
17 23 |88 46 87 90
17 23 46|88 87 90
17 23 46 87|88 90
17 23 46 87 88 |90
17 23 46 87 88 90
算法伪代码如下
selectionSort(A[0,n]){//用选择排序对给定的数组A进行排序//输入:一个可排序的数组A[0,n]//输出:非降序排列的数组A[0,n]for i <- 0 to n - 1 do min <- i for(j <- i+1 to n do if A[j] < A[min] min = j swap A[i] and A[min] }
java实现如下
public static void selectionSort(int arr){ int length = arr.length; for (int i = 0 ;i < length - 1;i++){ int min = i; for (int j = i + 1 ; j < length ; j++){ if(arr[min] < arr[j]){ min = j; } } int temp = arr[i]; arr[i] = arr[min]; arr[min] = temp; }}
八中排序算法的动画演示
0 0
- 算法策略之蛮力法
- 算法分析之递归策略
- 策略模式之排序算法
- BitTorrent协议标准之算法和策略
- 算法思想之分治递归策略
- ACM/ICPC竞赛之算法策略
- KMP算法java实现之策略模式
- 人工智能之搜索策略-A*算法入门
- 人工智能之搜索策略-A*算法进阶
- 算法 [ 算法策略 ]
- 第10篇 ACM/ICPC竞赛之算法策略
- 算法设计与分析之递归与分治策略
- 算法源码之递归与分治策略(1)
- 算法源码之递归与分治策略(2)
- 递归与分治策略之二分搜索算法
- 算法基础(2)分治策略之归并排序
- 算法基础(3)分治策略之快速排序
- 贪心策略之最小生成树中的kruskal 算法
- 二叉树中序创建和遍历相关
- GreenDao的简单使用说明(五)多表n:m
- slf4j log4j.properties配置文件
- 巧用adb pull
- 磨皮
- 算法策略之蛮力法
- Oracle限制ip连接设置
- Gym 100814L Candy Jars 博弈论
- iOS UISearchBar
- 中国信息咨询领域发展规模水平情况
- Boost库编译使用基本操作命令
- Mysql常用命令
- Android 去掉gridView的默认点击背景
- 北京python培训哪家好 哪家靠谱?