当前位置: 首页 > wzjs >正文

安阳网站建设安阳seo搜索引擎优化人才

安阳网站建设安阳,seo搜索引擎优化人才,哈尔滨网络公司资讯,北京软件开发培训机构介绍 选择排序是一种简单直观的排序算法,其基本思想是:从待排序的数据元素中,每次选择最小(或最大)的元素,将其与序列的起始位置交换,然后继续对剩余的元素进行排序,知道整个序列排…

介绍

选择排序是一种简单直观的排序算法,其基本思想是:从待排序的数据元素中,每次选择最小(或最大)的元素,将其与序列的起始位置交换,然后继续对剩余的元素进行排序,知道整个序列排序完成。

算法步骤

1、从待排序的序列中选择一个最小的元素,将其与序列第一个位置交换。

2、在剩余未排序的元素中继续选择最小的元素,放到已排序序列的末尾。

3、重复上述步骤,知道所有元素排序完成

优缺点

优点:

  • 简单易懂:选择排序算法简单直观,易于实现和理解
  • 适用于小规模数据集:在小规模数据集上表现良好
  • 部分有序数据集优化:在部分有序的数据集上可以进行优化
  • 内存要求低:适用于对内存要求严格的场景
  • 不敏感的数据集顺序:适用于对数据集的顺序不敏感的情况

缺点:

  • 效率低:时间复杂度为O(N^2),不适合大规模数据集
  • 多次交换:需要进行多次交换操作
  • 不稳定性:选择排序是不稳定的排序方法。相同的元素在排序后的相对位置可能会改

代码

#include <stdio.h>void Swap(int* p1, int* p2)
{int tmp = *p1;*p1 = *p2;*p2 = tmp;
}void Print(int* a, int n)
{for (int i = 0; i < n; i++){printf("%d ", a[i]);}printf("\n");
}void SelectSort(int* a, int n)
{int begin = 0;while (begin < n - 1){int min = begin;for (int i = begin + 1; i < n; i++){if (a[i] < a[min]){min = i;}}Swap(&a[begin], &a[min]);begin++;}
}int main()
{int a[] = { 9,1,2,5,7,4,6,3 };int sz = sizeof(a) / sizeof(int);SelectSort(a, sz);Print(a, sz);return 0;
}

优化

每次循环只取一个最小值效率太慢,可以同时去最小值和最大值。

void SelectSort(int* a, int n)
{int begin = 0;int end = n - 1;while (begin < end){int min = begin;int max = begin;for (int i = begin + 1; i <= end; i++){if (a[i] < a[min]){min = i;}if (a[i] > a[max]){max = i;}}Swap(&a[begin], &a[min]);if (begin == max)max = min;Swap(&a[end], &a[max]);begin++;end--;}
}

http://www.dtcms.com/wzjs/544394.html

相关文章:

  • 网站怎么加关键词做优化2020最有效的网络推广方式
  • 网站宽屏图片怎么做天津网站建设托管
  • 网站建设成交话术高端网站制作效果好
  • 有什么网站工业设计服务平台
  • 网站建设的流程步骤求职简历模板免费可编辑
  • 免费下载ppt模板网站有哪些国家企业信息公示网查询官网
  • 网站后台是怎样制作的自己主机做网站服务器吗
  • 2023年没必要学php了seo搜索引擎优化视频
  • 政协网站 是政协信息化建设百度深圳总部
  • php综合网站源码专业建设规划ppt
  • 商城 网站 开发学生做爰网站
  • 湖北省网站建设广州最新防疫动态
  • 一个虚拟主机空间挂两个网站wordpress 百家号
  • 旅游网站的建设的文献综述怎么用默认程序做网站
  • 深圳光明专业网站设计三蛋空间 wordpress
  • 上海知名网站建设公山西做网站多少钱
  • 网站建设 教学论文沈阳企业网站
  • 网站建设公司的pest分析支持wordpress主机
  • 网站设计公司深有哪些推广的网站
  • 建设工程项目管理网站最新传奇手游2022首发排行
  • 搜索引擎营销题库和答案网络优化关键词
  • 网站备案 查询qq浏览器官网
  • 网站平台规划阿里云搭建自己的网站
  • 网站开发需要几个人企业wordpress主题下载
  • 建设网站需要的资质证书推广英文
  • 建建建设网站公司电话网站建设的外国文献
  • 玫瑰在线 网站建设内容h5怎么弄到微信公众号
  • 个人备案网站服务内容中山网站建设怎么样
  • 搜索引擎营销实训报告seo搜索引擎优化步骤
  • 高端定制手机网站网站开发后端做什么