当前位置:网站首页>【21天学习挑战赛】直接选择排序
【21天学习挑战赛】直接选择排序
2022-08-10 15:25:00 【Alex抱着爆米花】
活动地址:CSDN21天学习挑战赛
怕什么真理无穷,进一步有一份的欢喜。
【21天学习挑战赛】直接插入排序的数据操作
我为什么参与挑战赛
1,机缘
读到研一了,暑假假期打开私信发现这个挑战赛就鼓起勇气参加了。
2,期待的收获
A, 本人在华南理工大学攻读专硕,目前研究方向是图像恢复,从事深度学习相关工作,目标是从事Java后端开发。
B, 期待您的反馈,如果有什么不对的地方,欢迎指正!
C, 期待认识志同道合的领域同行或技术交流。
如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦
什么是直接选择排序?
直接选择排序的又称为简单选择排序,整个过程是每一趟都将无序区中的所有元素进行逐一比较,找到最小的元素,与无序区中的首个元素进行交换,然后有序区长度+1,无序区-1。重复上述步骤,直到所有元素都排列好。
直接选择排序的优劣
优势
简单易于实现,空间复杂度低,只涉及到元素间的交换,不用引入其他变量,空间复杂度为O(1)
劣势
时间复杂度高,因为是for循环的嵌套,并且是逐一比较,时间复杂度为O(n^2)
直接选择排序的步骤
- 在第一趟中,从n个记录中找出最小值与第1个记录交换
- 第二趟中,从n-1个记录中找出最小值与第2个记录交换
- …
- 第N趟中,从n-i+1个记录中与第i个记录交换,直到完成i=n-1时结束操作
️ 算法实现
public class SelectSort {
public static void main(String[] args) {
// input data
int[] a = {
11,34,20,10,12,35,41,32,43,14};
// 调用选择排序
sort(a);
// 查看排序结果
for (int data : a){
System.out.print(data + "\t");
}
}
private static void sort(int[] a){
// 外层循环用于控制循环的趟数
for (int i = 0;i < a.length - 1;i++){
int k = i;
// 内层循环的作用是在无序区中选出最小的元素并记录
for (int j = i + 1;j < a.length;j++){
if (a[j] < a[k]) {
k = j;
}
}
// 如果本轮选出的最小元素没有在对应的位置上则交换
if (k != i){
int tmp = a[i];
a[i] = a[k];
a[k] = tmp;
}
}
}
}
如果觉得对你有帮助的话:
点赞,你的认可是我创作的动力!
️ 收藏,你的青睐是我努力的方向!
️ 评论,你的意见是我进步的财富!
边栏推荐
- 力扣+牛客--刷题记录
- 一文带你了解 HONOR Connect
- 为什么中国的数字是四位一进,而西方的是三位一进?
- Opencv 图像超像素分割(SLIC、SEEDS、LSC)
- Recommend a few had better use the MySQL open source client, collection!
- Mysql statement analysis, storage engine, index optimization, etc.
- Chapter one module of the re module,
- Network engineer's backpack (EDC summary recommendation)
- An ABAP tool that can print the browsing history of a user in the system for BSP applications
- photoshop入门教程
猜你喜欢
虚拟电厂可视化大屏,深挖痛点精准减碳
QOS功能介绍
Meaning and names of 12 nautical miles, 24 nautical miles and 200 nautical miles
企业如何开展ERP数据治理工作?_光点科技
SWIG tutorial "two"
【服务器数据恢复】raid5崩溃导致lvm信息和VXFS文件系统损坏的数据恢复案例
Understanding_Data_Types_in_Go
NFT digital collection development issue - digital collection platform
一个 ABAP 开发的新浪微博语义情感分析工具
产品说明丨如何使用MobPush快速创建应用
随机推荐
NPM - Cannot read properties of null (reading 'pickAlgorithm') 解决方案
A Sina Weibo semantic sentiment analysis tool developed by ABAP
功能测试vs.非功能测试:能否非此即彼地进行选择?
Taurus.MVC WebAPI 入门开发教程4:控制器方法及参数定义、获取及基础校验属性【Require】。
Introduction to program debugging and its use
metaForce佛萨奇2.0系统开发功能逻辑介绍
易观千帆银行用户体验中心:聚焦银行APP用户体验
12海里、24海里、200海里的意义及名称
架构设计之一——基础架构
E-commerce spike project harvest (2)
26、压缩及解压缩命令
Redis -- Nosql
【芯片】人人皆可免费造芯?谷歌开源芯片计划已释放90nm、130nm和180nm工艺设计套件
关于async\await 的理解和思考
It is reported that the original Meitu executive joined Weilai mobile phone, the top product may exceed 7,000 yuan
Scala collections
SYM32——RTC实时时钟程序讲解
匿名函数和全部内置函数详细认识(下篇)
HUAWEI CLOUD DevCloud received the highest-level certification of the first batch of cloud-native technology architecture maturity assessments by the China Academy of Information and Communications Te
NFT数字藏品——数字藏品发行平台开发