摘要: 插入排序 插入排序思路: 列表被分为有序区和无序区两个部分。最初有序区只有一个元素。 每次从无序区选择一个元素,插入到有序区的位置,直到无序区变空。 时间复杂度: O(n2) 阅读全文
posted @ 2017-03-08 18:21 yxy_linux 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 选择排序 排序思路: 一趟遍历记录最小的数,放到第一个位置; 再一趟遍历记录剩余列表中最小的数,继续放置; 假定一个最小值变量,拿这个值遍历相比较,比假定的最小值还小,就设置最小值变量为该值 时间复杂度为: O(n2) 阅读全文
posted @ 2017-03-08 18:11 yxy_linux 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序 排序思路: 将列表每两个相邻的数对比,如果前边的比后边的大,那么交换这两个数直到将最大的数放至最右侧。 时间复杂度为: O(n2) 冒泡排序之优化 优化说明:如果冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结束算法。 阅读全文
posted @ 2017-03-08 17:59 yxy_linux 阅读(772) 评论(0) 推荐(0) 编辑
摘要: 快速排序算法 快排思路: 取一个元素p(第一个元素),使元素p归位; 列表被p分成两部分,左边都比p小,右边都比p大; 递归完成排序。 时间复杂度为: O(nlogn) 阅读全文
posted @ 2017-03-08 17:13 yxy_linux 阅读(274) 评论(0) 推荐(0) 编辑