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

宝塔网站建设教程医药网站建设价格

宝塔网站建设教程,医药网站建设价格,建投能源公司简介,wordpress能做任何网站1.排序的概念 排序#xff1a;所谓排序#xff0c;就是使一串记录#xff0c;按照其中的某个或某些关键字的大小#xff0c;递增或递减的排列起来的操作。 稳定性#xff1a;假定在待排序的记录序列中#xff0c;存在多个具有相同的关键字的记录#xff0c;若经过排序…1.排序的概念 排序所谓排序就是使一串记录按照其中的某个或某些关键字的大小递增或递减的排列起来的操作。 稳定性假定在待排序的记录序列中存在多个具有相同的关键字的记录若经过排序这些记录的相对次 序保持不变即在原序列中r[i]r[j]且r[i]在r[j]之前而在排序后的序列中r[i]仍在r[j]之前则称这种排 序算法是稳定的否则称为不稳定的。 内部排序数据元素全部放在内存中的排序。 外部排序数据元素太多不能同时放在内存中根据排序过程的要求不断地在内外存之间移动数据的排序。 2.常见的排序算法 插入排序直接插入排序希尔排序 选择排序选择排序堆排序 交换排序冒泡排序快速排序 归并排序归并排序 Comparison Sorting Visualization-各个排序算法的动态演示效果 2.1冒泡排序 基本思想 所谓交换就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置交换排 序的特点是将键值较大的记录向序列的尾部移动键值较小的记录向序列的前部移动。 冒泡排序是左右相邻的两个元素比较元素范围是[0,n-1] 冒泡排序的特性总结 1. 冒泡排序是一种非常容易理解的排序 2. 时间复杂度O(N^2) 3. 空间复杂度O(1) 4. 稳定性稳定 上图是加入了flag标记值进行了优化如果进行了交换就把flag值置为1如果不变就说明是有序的直接break。 2.2插入排序 直接插入排序是一种简单的插入排序算法基本思路 把待排序的记录按其关键值大小逐个插入到一个已经排好序的有序序列中直到所有的记录插入完为止得到一个新的有序序列。 当插入第i(i1)个元素时前面的array[0],array[1],…,array[i-1]已经排好序 此时用array[i]的排序码与 array[i-1],array[i-2],…的排序码顺序进行比较 找到插入位置即将array[i]插入原来位置上的元素顺序后移 理解上述代码有n个数据数据元素范围[0,n-1],插入排序的思想就是前[0,end]个数据是有序的现在要把第(end1)位置的数据插入到[0,end]中保持有序。 记录第(end1)个位置的数据与之前的位置进行比较插入到合适的位置将原来的数据往后挪动会把end1位置的数据覆盖之前记录的数据就有必要了当end-1,将把tmp(end1)位置的数据给它这样整个序列就变成有序的了。 直接插入排序的特性总结 1. 元素集合越接近有序直接插入排序算法的时间效率越高 2. 时间复杂度O(N^2) 3. 空间复杂度O(1)它是一种稳定的排序算法 4. 稳定性稳定 2.3希尔排序(缩小增量排序) 希尔排序 1.预排序让数组接近有序 2.插入排序 基本思想是先选定一个整数把待排序文件中所有记录分成gap个组所有距离为gap的记录分在同一组内并对每一组内的记录进行排序。然后重复上述分组和排序的工 作。 当到达gap1时所有记录在统一组内排好序。 预排序 gap越大大的数可以越快跳到后面小的数可以越快跳到前面但越不接近有序。 gap越小跳的越慢但越接近有序当gap1的时候就相当于插入排序就有序了。 希尔排序的特性总结 1. 希尔排序是对直接插入排序的优化。 2. 当gap 1时都是预排序目的是让数组更接近于有序。当gap 1时数组已经接近有序的了这样就 会很快。这样整体而言可以达到优化的效果。 3. 希尔排序的时间复杂度不好计算因为gap的取值方法很多导致很难去计算因此在好些树中给出的 希尔排序的时间复杂度都不固定 4.时间复杂度ON^1.3 4. 稳定性不稳定 2.4选择排序 基本思想 每一次从待排序的数据元素中选出最小或最大的一个元素存放在序列的起始位置直到全部待排序的 数据元素排完 。 直接选择排序 在元素集合array[i]--array[n-1]中选择关键码最大(小)的数据元素。 若它不是这组元素中的最后一个(第一个)元素则将它与这组元素中的最后一个第一个元素交换。 在剩余的array[i]--array[n-2]array[i1]--array[n-1]集合中重复上述步骤直到集合剩余1个元素。 这里我做了一点小优化在我们遍历的时候同时找到最小和最大的元素然后把最小的和第一个位置交换把最大的和最后一个位置交换这里值得注意的是如果第一个元素是最大的因为在这之前我们已经把最小的元素和第一个位置进行了交换此时第一个位置的元素就不是我们需要的最大的元素了所以要及时更新最大的元素的位置然后再把它交互到最后一个位置 直接选择排序的特性总结 1. 直接选择排序思考非常好理解但是效率不是很好。实际中很少使用 2. 时间复杂度O(N^2) 3. 空间复杂度O(1) 4. 稳定性不稳定 2.5堆排序 堆排序(Heapsort)是指利用堆积树堆这种数据结构所设计的一种排序算法它是选择排序的一种。它是 通过堆来进行选择数据。需要注意的是排升序要建大堆排降序建小堆。 直接选择排序的特性总结 1. 堆排序使用堆来选数效率就高了很多。 2. 时间复杂度O(N*logN) 3. 空间复杂度O(1) 4. 稳定性不稳定
http://www.tj-hxxt.cn/news/224820.html

相关文章:

  • 广州网站推广找哪里招工平台网
  • 做微商怎么通过网站和贴吧引流客源前端优化网站
  • 招聘网站可以同时做两份简历吗6郴州今天几例
  • 自己网站开发wordpress 页面转跳
  • 重庆百科网站推广国内互联网大厂有哪些
  • 一个公司多个网站做优化本周新闻热点10条
  • 北京企业网站建设方网站建设专业如何做到廉洁自律
  • 东莞微信网站建设报价头像制作免费生成器
  • 毕业设计做旅游网站建设工程信息网为官方网站
  • 南昌网站建设 南昌做网站公司建筑网图集
  • 威海网站建设哪一家建设行业网站
  • 常州微信网站建设案例网络营销视频
  • 燕郊做网站公司百度推广登陆首页
  • 城乡与住房建设部网站首页网站管理与维护的优势
  • pc网站优化排名软件wordpress相册列表
  • 徐州做网站的设计师应用市场免费下载安装
  • 免费招聘网站推荐wordpress去掉分类目录前缀
  • 厦门企业制作网站方案wordpress评论滑动
  • 旧网站怎么做301跳转跨境电商网站排行榜
  • 网站第三方统计工具下载lovefort表白网站制作
  • 秦皇岛网站制作费用cms系统是什么意思
  • 营销型网站怎么建设广州专业网站建设
  • 青岛做网站seo如何提高百度搜索排名
  • 网站建设如何商谈深圳自助建站网站
  • 新公司网站怎么做推广网站域名登录不了
  • 方正集团网站是谁做的企业网站策划建设方案百度
  • wordpress开发的网站网站做外链
  • 淘宝客网站根目录建公司网站流程
  • 外贸新品开发网站有做销售产品的网站有哪些内容
  • 高端建设网站建设电商法