排序算法
黯叶
这个作者很懒,什么都没留下…
展开
-
排序算法(Java随笔)—冒泡排序&快速排序
排序(Sort)是将一组数据按照一定的规则进行排列的,一般按递增或递减的顺序来进行排列。最基本的排序法有:冒泡排序(Bubble Sort):是所有排序算法中最简单的,最基本的一种,思路即交换,通过相邻数据的交换来达到排序的目的。冒泡排序算法实例—代码实现://冒泡排序(bubble sort) int[] bubbleSort(int data[]){ int t...原创 2018-09-28 23:52:39 · 275 阅读 · 0 评论 -
排序算法(Java随笔)—选择排序&堆排序
选择排序(Selection Sort):思路简单,一般在每一步中选择最小值来重新排列,从而达到排序的目的。选择排序通过选择和交换来实现排序:选择排序算法实例——代码实现:// 选择排序——选择+交换 int[] selectSort(int[] data) { int index;// 保存每次循环的比较时最小值的地址 int temp; for (int i =...原创 2018-09-29 22:10:29 · 220 阅读 · 0 评论 -
排序算法(Java随笔)—插入排序&shell排序
插入排序(Insertion Sort):通过对数据执行逐个插入至合适的位置而完成排序工作;首先对数组的前两个数据进行从小到大的排序。 将第三个数据与排好的两个数据比较,将第三个数据插入到合适的位置。 将第四个数据插入到已经排列好的前三个数据中。 重复以上过程,直到排序完成。插入排序算法实例——代码实现://插入排序算法 int[] insertSort(int[] dat...原创 2018-09-30 21:13:24 · 569 阅读 · 0 评论 -
浅谈排序算法的效率(一)—(Java随笔)
排序算法有很多种,每一种都有其优缺点,可以适应不同的场合。排序算法的好坏,主要是看排序效率,排序效率的一个重要指标就是速度,速度是影响排序算法的最主要因素。一般来说,判断一个算法的优劣,可以从以下两个方面进行:算法的复杂度:以O表示,往往从最差,平均,最好三种情况来评价。 系统资源的占用:主要是内存和其他资源的占用,一个好的算法应该占用少的内存资源。常用排序算法——计算复杂度比较:...原创 2018-10-01 18:20:17 · 2431 阅读 · 0 评论 -
浅谈排序算法的效率(二)—(Java随笔)
首先:咱也借用一下网上的那张XXX的图,咯!在下面:接下来,就是咱的验证时间了(验证什么?当然是各种算法的时间复杂度咯),没什么好说的了,直接上码吧。代码实现:import java.util.Arrays;public class SortSummary { /** * 各排序算法效率比较 */ // 1、冒泡排序 int[] bubbleSort(int...原创 2018-10-02 21:10:40 · 836 阅读 · 0 评论 -
排序算法(Java随笔)—归并排序
归并排序(Merge Sort):将多个有序数据表合并为一个有序数据表,如果被合并的数据表只有两个,则叫二路归并。二路归并排序的原理步骤:将长度为n的原数据表分割为n个长度为1的子表,两两合并得到n/2个长度为2的有序子表 将长度为2的有序子表两两合并得到n/4个长度为4的有序子表 重复以上步骤,直到最后的子表长度为n,排序完成原理总结:先通过递归分解序列,再有序的合并序列即完成了归...原创 2018-10-03 16:46:14 · 249 阅读 · 0 评论