前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >排序算法(未写完,等待)

排序算法(未写完,等待)

作者头像
Centy Zhao
发布2019-12-26 13:43:48
3950
发布2019-12-26 13:43:48
举报
文章被收录于专栏:icecream小屋

1.选择排序(每次选择最小的放在最前面)

选择排序的基本思想:

每一趟在n-i+1(i=1,2,3…,n-1)个记录中选取关键字最小的记录与第i个记录交换,并作为有序序列中的第i个记录

选择排序的时间复杂度为:O(n^2),空间复杂度:O(1) 选择排序是不稳定的;

eg:

待排序列: 43,65,4,23,6,98,2,65,7,79

第一趟: 2,65,4,23,6,98,43,65,7,79

第二趟: 2,4,65,23,6,98,43,65,7,79

第三趟: 2,4,6,23,65,98,43,65,7,79

第四趟: 2,4,6,7,43,65,98,65,23,79

第五趟: 2,4,6,7,23,65,98,65,43,79

第六趟: 2,4,6,7,23,43,98,65,65,79

第七趟: 2,4,6,7,23,43,65,98,65,79

第八趟: 2,4,6,7,23,43,65,65,98,79

第九趟: 2,4,6,7,23,43,65,65,79,98

2.冒泡排序(一二比较,二三比较,。。。)

冒泡排序的基本思想为:

一趟冒泡排序的过程为:首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则将两个记录交换之,然后比较第二个记录的关键字和第三个记录的关键字,依次类推,直至第n-1个记录和第n个记录的关键字进行过比较为止;

在冒泡排序的过程中,关键字较小的记录好比水中气泡逐趟向上漂浮,而关键字较大的记录好比石头往下沉,每一趟有一块“最大”的石头沉到水底。

冒泡排序的时间复杂度为:O(n^2),空间复杂度为O(1) 冒泡排序是稳定的;

例如:

待排序列:43, 65, 4, 23, 6, 98, 2, 65, 7, 79

第一趟: 43, 4,23,6,65,2,65,7,79,98

第二趟: 4,23,6,43,2,65,7,65,79,98

第三趟: 4,6,23,2,43,7,65,65,79,98

第四趟: 4,6,2,23,7,43,65,65,79,98

第五趟: 4,2,6,7,23,43,65,65,79,98

第六趟: 2,4,6,7,23,43,65,65,79,98

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档