常见的排序算法四——直接选择排序
1.直接选择排序
原理:将序列划分为无序和有序区,寻找无序区中的最小值和无序区的首元素交换,有序区扩大一个,循环最终完成全部排序。
要点:
实现:
Void SelectSort(Node L[])
{
Int i,j,k;//分别为有序区,无序区,无序区最小元素指针
For(i=0;i<length;i++)
{
k=i;
For(j=i+1;j<length;j++)
{
If(L[j]<L[k])
k=j;
}
If(k!=i)//若发现最小元素,则移动到有序区
{
Int temp=L[k];
L[k]=L[i];
L[i]=L[temp];
}
}
}
这个算法的复杂度是O(n2) 因此要牢牢的记住
常见的排序算法四——直接选择排序相关推荐
- Java常见排序算法之直接选择排序
在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let ...
- 排序算法:简单选择排序算法实现及分析
简单选择排序算法介绍 简单选择排序(Simple Selection Sort)就是通过n-1次关键字排序之间的比较,从n-i+1个记录中选择关键字最小的记录,并和第i(1<=i<=n)记 ...
- java选择排序代码_Java排序算法总结之选择排序
本文实例讲述了Java排序算法总结之选择排序.分享给大家供大家参考.具体分析如下: 选择排序的基本操作就是每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部 ...
- Java排序算法之直接选择排序
Java排序算法之直接选择排序 基本过程:假设一序列为R[0]~R[n-1],第一次用R[0]和R[1]~R[n-1]相比较,若小于R[0],则交换至R[0]位置上.第二次从R[1]~R[n-1]中选 ...
- js排序算法详解-选择排序
全栈工程师开发手册 (作者:栾鹏) js系列教程5-数据结构和算法全解 js排序算法详解-选择排序 相对于冒泡排序还有一种类似的方法就是选择排序,顾名思义就是选择性排序,什么意思呢? 这么来理解,假设 ...
- 《数据结构与算法》实验:排序算法实验比较——选择排序 堆排序
<数据结构与算法>实验和课程Github资源 <数据结构与算法>实验:线性结构及其应用--算术表达式求值 <数据结构与算法>实验:树型结构的建立与遍历 <数据 ...
- 排序算法六:选择排序之直接选择排序
排序算法六:选择排序之直接选择排序 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 引言 在我的博文<"主宰世界"的10种算法短评& ...
- 排序算法5——简单选择排序
选择排序就是从待排序的元素中选择最小(最大)的元素,将其放在有序序列的相应位置,使这些元素构成有序序列.选择排序主要有两种:简单选择排序和堆排序. [简单选择排序] 编写算法,要求使用简单选择排序算法 ...
- 排序算法系列:选择排序算法
概述 这是一个相对简单的排序算法.为什么这么说呢?因为不需要什么思考,你就可以掌握并使用它. 版权说明 著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 本文作者:Q-WHai ...
最新文章
- 阮一峰在 GitHub 又一开源力作!
- C语言 十六进制整数字符串转十进制整数
- 安卓学习日记:初识Android Studio · java环境配置和AS安装
- 详解数据可视化的4种类型:手把手教你正确选择图表
- 第一章:1-01、计算机网络的发展可划分为几个阶段?每个阶段各有何特点?
- Python数据分析学习笔记:使用SciKit-Learn进行数据规范化
- 不支持某些浏览器_水狐:一个支持旧版扩展的火狐复刻版
- 精读《如何编译前端项目与组件》
- 界面无小事(六):来做个好看得侧拉菜单!
- ZOJ 1076 Gene Assembly
- [Win10] 解决 Office 安装后图标空白的问题
- java 泛型 参数传递子类_超类的Java泛型,但并非所有子类都想定义类型参数
- 2018年大数据趋势 :人工智能... 数据分析将包含可视化模型...
- position:fixed;支持ie6,清除e6下抖动。
- ps html 优化,photoshop越用越卡的解决方法,ps性能优化教程
- 5月9日机构对金融市场观点汇总
- C++ override及虚函数的讲解
- 【今日头条】今日头条三面面经
- 计算机机房管理系统数据库设计入门经典,机房管理系统数据库设计
- ESP32之 ESP-IDF 教学(十三)—— 分区表
热门文章
- Google统治桌面再进一步 欲重走微软称霸之路
- BotenaGo 僵尸网络利用33个exploit 攻击数百万物联网设备
- 速修复!Netgear交换机曝3个严重的认证绕过漏洞
- Confluence 企业服务器正遭攻击
- 为了研究,可以在 Linux 内核中植入漏洞吗?
- GitLab Elasticsearch 私密群组数据泄露 bug 值3000美元
- ZDI 公布多个尚未修复的 Windows 高危0day详情
- 一年三番五次修,卡巴斯基为何依然无法完美修复杀毒软件中的这些洞 (技术详情)?...
- Express + TypeScript开发微信应用
- 【DataMagic】如何在万亿级别规模的数据量上使用Spark