问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

排序算法哪种好?

发布网友 发布时间:2024-01-16 22:02

我来回答

1个回答

热心网友 时间:2024-05-13 03:43

在插入和选择排序中,若初始数据基本正序,则选用插入排序;若初始数据基本反序,则选用选择排序。

插入排序基本思想:

输入一个元素,插入到一个已经排好序的数列中的适当位置,使数列依然有序。

例如:输入一个数,插入一个各元素已经按照升序排列的数组中,插入后使数组中元素仍然是按照升序排列的。思想:把欲插入的数与数组中各数逐个比较, 当找到第一个比插入数大的元素i时,该元素之前即为插入位置。

然后从数组最后一个元素开始到该元素为止,逐个后移一个单元。最后把插入数赋予元素a[i]即可。如果被插入数比所有的元素值都小则插入最后位置。

扩展资料:

插入排序对于随机排列长度为N的且主键不重复的数组,平均情况下插入排序需要~(N^2)/4次比较以及~(N^2)/4次交换。最坏情况下需要~(N^2)/2次比较和~(N^2)/2次交换,最好情况下需要N-1次比较和0次交换。

插入排序需要的交换操作和数组中倒置的数量相同,需要的比较次数大于等于倒置的数量,小于等于倒置的数量加上数组的大小再减一。

要大幅提高插入排序的速度并不难,只要在内循环中将较大的元素都向右移动而不总是交换两个元素(这样访问数组的次数就能减半)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 翔安区林业局在哪里 云手机哪个平台最好 眼睛大的男明星 精神类药物会让脸神情呆滞 面无表情吗? 请用化学符号填空:(1)2个氢分子___,3个铝原子___,5个氢氧根离子... 父母说话很脏,我该怎么办 北京优典行嘉科技有限公司怎么样? 电子商务与传统商务比较起来有哪些优势 还有那些需要改进的地方_百度知 ... ...RAID10方案,外加一块备份盘,最多可以允许几块硬盘同时损坏呢?_百度... 重阳节人死了好吗 我姥爷九月初九九点去世有什么讲吗? 花样厨神是哪个国家拍的 白磷怎样转化成红磷 白麟和红磷相互转化的条件是什么? 原来欧阳娜娜也是BM女孩!换“纯欲风”路线后气质都不一样了 我一个手机号注册了两个,另外一个登不上了,怎么办? 我的手机号已经注册了两个 下列选项中,装修材料然烧性能等级与其他选项不一致是( )。 以下装修材料中燃烧性能为B1 级的是( )。 华为手机桌面的时间和天气怎么恢复 陌陌号解封多少钱 冬日时尚穿搭分享:白色羽绒服+蓝色牛仔裤 对方把我的删了,可以视频通话吗. 爱新觉罗·慧生的女儿 年少不知父母恩,半生糊涂半生人,怎么回事? 父母不养老,子女不知声,怎么办? 孩子不愿意听我们的教导怎么办 扌加奇怎么读 我想对你所做的一切表示我的感谢英语 请帮我翻译成准确无误的英文,要相当地道的。 衡水中学的十大名师都有谁呢? 1939-1945年德国飞机的年产量,及各种型号的年产量,最好能列表。_百度知... 二战中德军的飞机有哪几种型号是比较犀利的 学年是指一学年的什么时候? 一学年指多长时间 深入江郎山,发现隐秘的自然奇观 鸡翅包饭半成品蒸多长时间 伊豆旅游景点介绍!这些景点你一定不容错过! 金蝶2000标准版 打开账套 没反应 linux系统多少位