生活资讯
排序
2024-12-20 19:28  浏览:61

1:基本思想-选择一个基准元素,将比基准元素小的元素放在其前面,比基准元素大的元素放在其后面,然后:再将小于其基准值元素的子数列和大于基准元素的子数列按原来的方法排序。

排序

2:优点-极快,数据移动少。缺点-不稳定(相同值的相对位置有发生改变)。

3:效率分析-此排序算法的效率在序列越乱的时候,效率越高。在数据有序时,会退化成冒泡排序。

4:对于基准的选择-三数(low、mid、high)中取、随机选取基准。

5:优化方法-a.当待排序序列的长度分割到一定大小后,使用插入排序(对于很小和部分有序的数组,快排不如插排好)。b.再一次分割结束后,可以把与key相等的元素聚集在一起,继续下次分割时,不必再对于key相等的元素分割。

6:最坏的时候(O(n2))也就是在随机快速排序的partition过程的时候每次选取标志数的时候都大或者最小值,

 

1:二叉堆定义-二叉堆是完全二叉树或近似完全二叉树。满足特性a.父节点的键值总大于或等于(小于或等于)任何一个子节点的键值。b.每个节点的左子树和右子树都是一个二叉堆。

2:堆的存储-一般用数组来表示堆,i结点的父节点下标是(i-1)/2,它的左右节点的下标分别是2*i+1和2*i+2。

3:应用-寻找M个数中前k个最小的数并保持有序。时间复杂度:O(K)[创建K个元素最大堆的时间复杂度] +M-K*log(K)[对剩余M-K个数据进行比较并每次对最大堆进行从新最大堆化]

4:不稳定(相同值的相对位置有发生改变);

5:实现(构建堆,调整堆)

1:基本思想-首先将初始序列的n个记录看成n个有序的子序列,每个子序列的长度为1,然后两两合并,得到n/2个长度为2的有序子序列,…以此类推,直到得到一个长度为n的有序序列为止。

2:适用场景-n较大,并且要求排序稳定,则可以选择归并排序。

    以上就是本篇文章【排序】的全部内容了,欢迎阅览 ! 文章地址:http://sjzytwl.xhstdz.com/xwnews/615.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://sjzytwl.xhstdz.com/mobile/ , 查看更多   
最新文章
SQL数据清洗:利用SUBSTRING和CHARINDEX处理无效字符
截取字符串 我们在做BI可视化之前,通常需要已经清洗干净的数据才能进行可视化分析。 随着电商的发展,有很多数据都
Python数据分析与展示
快讯:这是本课程第20次开课~~本课程是国家精品在线开放课程“Python网络爬虫与数据分析”的下半部分,欢迎大家加入学习!“我们
MacOS升级ruby版本
1. 历史与起源Bourne Shell (sh) ,即 Bourne Shell,是由 Stephen Bourne 在 1977 年开发的。它是最早的 UNIX Shel
SHOPYY:今天不聊亚马逊,我们只谈独立站
说到跨境电商平台,大部分人跟我一样,最先想到的就是亚马逊、eBay、速卖通、Wish这四大目前主流的平台。跨境电商卖家们借助平台
上外Blackboard在线建课问答第十二期(Q&A)
SISU上外Blackboard在线建课问答第十二期(QA)教师的个人课程列表中有一门《在线课程建设培训》,可自主学习相关资料。课程列表
uniapp开发H5拉起微信支付全流程(含H5获取用户code、openid方法)
这两天遇到一个需求就是开发微信公众号H5界面,需要点击支付按钮拉起微信进行支付。我自己觉得H5和小程序的支付流程还是有
一个月内三刷PB,吴艳妮发声
  澎湃新闻记者 祁东  仅用两周时间,吴艳妮又一次刷新自己的个人最好成绩(PB)。  吴艳妮一个月内三刷个人最好成绩。资
“用C语言实现计算功能”中,对比AI的程序,我的收获
最近写了一个用C语言实现计算功能的程序,已上传。运行截图:然后让文心一言也写了个程序:它只能计算例如3&#
【VS插件】学习笔记|AutoHistory:自动保存你的代码历史文件
你是不是曾经希望自己可以回滚一段你有修改过的工程的代码? 比如说,自己编写的一个程序原本是正常运行的、计算结
相关文章