摘要: 评估递归算法的复杂度: 希尔排序性能分析: 排序算法稳定性: 10种排序算法的复杂度及稳定性表格: 阅读全文
posted @ 2019-02-17 16:31 梨花梦蝶 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 一、算法原理 基于分治的思想,是冒泡排序的改进型。首先在数组中选择一个基准点(该基准点的选取可能影响快速排序的效率,后面讲解选取的方法),然后分别从数组的两端扫描数组,设两个指示标志(low指向起始位置,high指向末尾),首先从后半部分开始,如果发现有元素比该基准点的值小,就交换low和high位 阅读全文
posted @ 2019-02-17 16:06 梨花梦蝶 阅读(4057) 评论(0) 推荐(0) 编辑
摘要: 冒泡、插入、选择排序的时间复杂度为O(n2) Arrays.sort()时间复杂度为nlgn 具体算法实现代码: 控制台输出: 阅读全文
posted @ 2019-02-17 10:34 梨花梦蝶 阅读(1511) 评论(0) 推荐(0) 编辑
摘要: Java工具包中的Arrays工具类里面有数组的快速排序算法。 源码如下: java.util.Arrays类能方便的操作数组,它所有的方法都是静态的。 1.filll方法 :给数组中的某段元素附上相同值。 2.sort方法:对数组中某段元素排序。 3.equals方法:比较两个数组,判断的是数组中 阅读全文
posted @ 2019-02-17 09:46 梨花梦蝶 阅读(2409) 评论(0) 推荐(0) 编辑
摘要: 一、算法原理 简单选择排序的基本思想:给定数组:int[] arr={里面n个数据};第1趟排序,在待排序数据arr[1]~arr[n-1]中选出最小的数据,将它与arrr[0]交换;第2趟,在待排序数据arr[2]~arr[n-1]中选出最小的数据,将它与r[1]交换;以此类推,第i趟在待排序数据 阅读全文
posted @ 2019-02-17 09:11 梨花梦蝶 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 一、算法原理 原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤 阅读全文
posted @ 2019-02-17 08:39 梨花梦蝶 阅读(226) 评论(0) 推荐(0) 编辑