Java选择排序举例分析
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章主要介绍"Java选择排序举例分析",在日常操作中,相信很多人在Java选择排序举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java选择排序举例分析"
千家信息网最后更新 2024年11月11日Java选择排序举例分析
这篇文章主要介绍"Java选择排序举例分析",在日常操作中,相信很多人在Java选择排序举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java选择排序举例分析"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
选择排序原理
①假设第一个索引处的元素为最小值,和其他值进行比较,如果当前的索引处的元素大于其他某个索引处的值,则假定其他某个索引处的值为最小值,最后找到最小值所在的索引
②交换第一个索引处和最小值所在的索引处的值
选择排序API设计
类名 | Selection |
构造方法 | Selection():创建Selection对象 |
成员方法 | 1.public static void sort(Comparable[] a):对数组内的元素进行排序 2.private static boolean greater(Comparable v,Comparable w):判断v是否大于w 3.private static void exchange(Comparable[] a,int i,int j):交换a数组中,索引i和索引j处的值 |
选择排序代码实现
public class Selection { //对数组a中的元素进行排序 public static void sort(Comparable[] a){ for(int i=0;i0; } private static void exchange(Comparable[] a,int i,int j ){ Comparable t=a[i]; a[i]=a[j]; a[j]=t; }}class Test{ public static void main(String[] args) { Integer[] a={4,6,8,7,9,2,10,1}; Selection.sort(a); System.out.println(Arrays.toString(a)); }}
选择排序的时间复杂度
选择排序使用了双层for循环,外层循环完成了数据交换,内层循环完成了数据比较,所以分别统计:数据比较次数:(N-1)+(N-2)+(N-3)+...+2+1=
((N-1)+1)*(N-1)/2=N^2/2-N/2;
数据交换次数:N-1;
时间复杂度: N^2/2-N/2+(N-1)=N^2/2+N/2-1;
根据大O推导法则,保留最高阶项,去除常数因子,时间复杂度为O(N^2)
到此,关于"Java选择排序举例分析"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
排序
选择
索引
分析
最小
元素
数据
学习
复杂
复杂度
数组
方法
时间
循环
所在
更多
次数
帮助
实用
接下来
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库怎么修改某一格的内容
广西生鲜软件开发
嗨皮咳嗽服务器国际服怎么进
软件开发按钮图片
取消照片数据库
经济学与网络安全交叉领域有哪些
悠米网络技术有限公司官网
求生意志火焰m16能跨服务器吗
讲网络安全的电视剧
开票软件安全服务器
计算机网络技术的大学课程
网上书店软件开发
安卓软件开发相机
凌风认证数据库
浙江明讯网络技术有限公司项目
弥勒服务器云存储
数据库系统案例
怎么选电商服务器
四川互联网养老软件开发
会计软件开发的阶段包括什么
高校 数据库 现状
南京运营软件开发概况
找不到radius服务器
怎样在excel建立数据库
数据库查询管理器打不开
联想服务器提示fault
曲靖软件开发培训学校
深圳app软件开发大概要多少钱
云数据库+怎么选
广州网络技术公司名字