排序算法之直接插入排序和冒泡排序

 我来答
户如乐9318
2022-07-13 · TA获得超过6661个赞
知道小有建树答主
回答量:2559
采纳率:100%
帮助的人:140万
展开全部

直接插入排序是个稳定的排序算法,适用于关键码n较小,在已知关键码基本有序情况(最好的情况,时间复杂度为0(n),只比较元素n-1次,不移动元素),最坏的情况下时间复杂度为0(n^2),比较元素次数为n (n-1)/2,移动元素次数为(n+3) (n -2)/2,空间复杂度为0(1)

下面实现直接插入排序(递增序列)

冒泡排序也是一个稳定的排序,在待排关键码基本有序的情况下,只需要(n-1)次比较,不需要交换元素(O(n),1趟排序),关键码逆序的情况下,需要n(n-1)/2次比较,关键码n(n -1)/2次交换(O(n^2),n-1趟排序)

冒泡排序的实现(递增序列):

直接插入排序和冒泡排序,时间复杂度和空间复杂度相同,但直接插入排序关键码移动次数明显比冒泡排序少,实际应用直接插入排序更加有效,更广.

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式