摘要: 选择排序是不稳定排序,时间复杂度为O(n^2)。 选择排序类似插入排序,把数组分为两部分,一部分已经排好序,一部分未排序。 刚开始的时候所有的元素都未排序,已排序的部分为空。就好像你手里有十张牌,左手有零张,右手有10张。每次从右手的牌中取最小的一张插入到左手的牌末尾,右手的牌插完了,排序也完成了。 阅读全文
posted @ 2018-12-08 14:41 三水一度 阅读(3767) 评论(0) 推荐(0) 编辑
摘要: 插入排序是稳定排序,时间复杂度最低为O(n),最高为O(n^2),平均为O(n^2)。 插入排序是将数组分为两部分,一部分已经排好序,另一部分未排好序,每次从未排好序的部分取第一个元素插入到已经排好序的部分正确的位置,如此循环n-1次。 就好像你手里有十张牌,左手有一张,右手有九张。每次从右手的牌中 阅读全文
posted @ 2018-12-08 13:37 三水一度 阅读(842) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序是一种稳定排序,时间复杂度平均为O(n^2),最好的时间复杂度为O(n),最坏为O(n^2)。 排序时每次只比较当前元素与后一个 元素的大小,如果当前元素大于后一个元素,则交换,如此循环直到队尾,每轮排序都可以保证将当前排序下最大的元素送到未排序部分的队尾。 有n个元素要排列,故要执行n次数 阅读全文
posted @ 2018-12-08 11:42 三水一度 阅读(13250) 评论(0) 推荐(1) 编辑