算法分析-选择排序(直接选择排序 & 堆排序)
来源:互联网 发布:windows窗口 编辑:程序博客网 时间:2024/05/02 20:24
选择排序
1.直接选择排序
原理:将序列划分为无序和有序区,寻找无序区中的最小值和无序区的首元素交换,有序区扩大一个,循环最终完成全部排序。
/*选择排序*/public static void select(){int[] b={26,37,8,59,10,61,32,13,54,15};print(b);System.out.println();int i;int j;for(i=0;i<b.length-1;i++){int min=i+1;int temp;//找到从 i~length中最小值得位置for(j=i+1;j<b.length;j++){ if(b[j]<b[min]){min=j;}}System.out.println("最小值:"+b[min]);//最小值和第一个位置的数 交换temp=b[min];b[min]=b[i];b[i]=temp;}print(b);}
【结果:】
26 37 8 59 10 61 32 13 54 15
最小值:8
最小值:10
最小值:13
最小值:15
最小值:26
最小值:32
最小值:37
最小值:54
最小值:59
8 10 13 15 26 32 37 54 59 61
2.堆排序
原理:利用大根堆或小根堆思想,首先建立堆,然后将堆首与堆尾交换,堆尾之后为有序区。
要点:建堆、交换、调整堆
0 0
- 算法分析-选择排序(直接选择排序 & 堆排序)
- 算法-排序-选择排序(直接选择和堆排序)
- 经典算法之选择排序(直接选择、堆排序)
- 选择排序(直接选择、堆排序)
- 选择排序(直接选择、堆排序)
- 排序:选择排序(直接选择排序、堆排序)
- 【排序】选择排序(直接选择排序、堆排序)
- 选择排序:直接选择排序 堆排序
- 选择排序:直接选择排序,堆排序
- 选择排序(直接选择排序,堆排序)
- 选择排序(直接、堆)
- 排序算法-之选择排序(直接选择排序,堆排序)
- 2.选择排序(直接选择排序和堆排序)
- 选择排序 (直接选择排序 ,堆排序)
- 选择排序(直接选择排序、堆排序)
- 【算法拾遗(java描述)】--- 选择排序(直接选择排序、堆排序)
- 排序算法汇总(选择排序 ,直接插入排序,冒泡排序,希尔排序,快速排序,堆排序)
- 排序算法汇总(选择排序 ,直接插入排序,冒泡排序,希尔排序,快速排序,堆排序)
- 设计模式总结(2014.7)
- Android开发之控制手机振动(Vibrator的使用)
- 关于xml的encoding
- 二维数组
- 《浪潮之巅》5奔腾的芯 英特尔公司
- 算法分析-选择排序(直接选择排序 & 堆排序)
- Bose起诉苹果旗下Beats专利侵权,结果如何?
- java面向对象-子父类中函数的特点-覆盖
- spring中的邮件发送
- 指针(2):关于数组指针和指向数组指针的指针及其new
- 《浪潮之巅》6IT领域的罗马帝国---微软公司
- 算法分析-插入排序(直接插入排序 & 希尔排序)
- 指针(3):理解一般指针和指向指针的指针
- [高斯消元求期望] zjutoj 1423 地下迷宫