排序
李太白不白
一个蹩脚的码农!
展开
-
Java常见排序:(一)直接选择排序
常见的一些内部排序算法 排序:常见的也是基础的一些算法。 评价排序算法优劣的标准: 1. 时间复杂度:主要是分析关键字的比较次数和记录的移动次数。 2. 空间复杂度:分析排序算法中需要多少辅助内存。 3. 稳定性:如果两个记录A和B的关键字值是相同的,但是排序后A、B的先后顺序保持不变,则称之为算法是稳定的;反之就是不稳定的。 就现在的排序算法来看,原创 2016-10-06 21:05:54 · 1621 阅读 · 0 评论 -
Java常见排序:(二)冒泡排序
交换排序的主题操作就是对数组中的数据不断的进行交换操作。交换排序中最主要的就是冒泡排序和快速排序。 对于一组包含n个数据,最坏的情况下,要进行n-1趟的比较。 第一趟依次比较0和1、1和2、2和3……n-2和n-1索引的元素如果发现第一个元素大于后一个元素,交换他们。经过一趟后,最大的元素就放在最后。依次类推 冒泡排序 [时间复杂度:O(n2)、空间复杂度:O(1)、稳定] 冒泡排原创 2016-10-06 21:42:29 · 321 阅读 · 0 评论 -
Java常见排序:(三)快速排序
快速排序是一种非常快的交换排序方法,思路很简单,将待排的数据序列中任意取一个数据作为分界值,所有比这个值小的放在左边,比他大的放在右边。形成左右两个子序列,左边的值都比分界值小,右边的值都比分界大。接下来对左右两个子序列进行递归,两个子序列重新选择中心元素并按照上述规则调整,直到每个字序列中只剩一个元素。 快速排序 [时间复杂度:O(nlogn)、空间复杂度:O(log2n)、不稳定] 快速排原创 2016-10-07 15:12:31 · 1441 阅读 · 0 评论