标签:表示法 java代码 alt img 最小数 代码 数组 技术分享 nbsp
冒泡排序
规则:
1、比较相邻的两个数
2、如果左边的大,则交换位置
3、向右移动一位,比较下一位
当所有的数都进行一遍这个规则时,得到最大的数放在最右边。然后重新回到最左端,循环剩下的N-1个数,依次循环。
选择排序:
规则:
1、指定一个数作为比较标准,跟其他数进行比较,得到最小的数
2、交换最小数和该标准数的位置
3、从剩下的数中,再选取一个数作为标准,依次和其它数比较,得到下一个最小数
4、交换该最小数和标准数的位置
5、重复第3~4步
插入排序:
图标实例:
java代码实现:
效率问题:
eg:10个随机数,
冒泡排序:
需要进行9+8+7+6+5+4+3+2+1=45次比较过程。
即. (N-1)+(N-2)+(N-3)+...+1 = N*(N-1)/2 当数据项很大时,比较次数近似为N^2/2,而交换次数为N^2/4(需不要需要交换是随机的,符合0-1分布),在大O表示法中,为O(N^2)。表示交换和比较的次数和数据项的平方成正比;数据项越大,比较耗时越大。
选择排序:
需要进行9+8+7+6+5+4+3+2+1=45次比较过程。但,只需要最多9次的交换。
当数据项很大时,次数成效率的主要因素,因此选择排序也是O(N2)时间。在N较小时,选择排序较快
标签:表示法 java代码 alt img 最小数 代码 数组 技术分享 nbsp
原文地址:http://www.cnblogs.com/x-jingxin/p/6826191.html