摘要: 基本思想 基数排序(Radix Sort)是在桶排序的基础上发展而来的,两种排序都是分配排序的高级实现。分配排序(Distributive Sort)的基本思想:排序过程无须比较关键字,而是通过“分配”和“收集”过程来实现排序。它们的时间复杂度可达到线性阶:O(n)。 先来看一下桶排序(Radix 阅读全文
posted @ 2016-11-09 10:11 小小学徒不辞辛苦 阅读(355) 评论(1) 推荐(0) 编辑
摘要: 基本思想 堆排序是一种树形选择排序,是对直接选择排序的改进。 首先,我们来看看什么是堆(heap): (1)堆中某个节点的值总是不大于或不小于其父节点的值; (2)堆总是一棵完全二叉树(Complete Binary Tree)。 完全二叉树是由满二叉树(Full Binary Tree)而引出来的 阅读全文
posted @ 2016-11-09 10:10 小小学徒不辞辛苦 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 基本思想 希尔排序是基于插入排序的,又叫缩小增量排序。 在插入排序中,标记符左边的元素是有序的,右边的是没有排过序的,这个算法取出标记符所指向的数据,存入一个临时变量,接着,在左边有序的数组中找到临时变量应该插入的位置,然后将插入位置之后的元素依次后移一位,最后插入临时变量中的数据。 试想,假如有一 阅读全文
posted @ 2016-11-09 10:09 小小学徒不辞辛苦 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 基本思想 分析归并排序之前,我们先来了解一下分治算法。 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。 分治算法的一般步骤: (1)分解,将要解决的问题划分成若干规模较小的同类问题; (2)求解,当子问题 阅读全文
posted @ 2016-11-09 10:08 小小学徒不辞辛苦 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 基本思想 快速排序也是基于分治算法得。步骤如下: (1)选择一个基准元素,通常选择第一个元素或者最后一个元素; (2)通过一趟排序讲待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的元素值比基准值大; (3)此时基准元素在其排好序后的正确位置; (4)然后分别对这 阅读全文
posted @ 2016-11-09 10:08 小小学徒不辞辛苦 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 插入排序 基本思想 在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数找到相应位置并插入,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 java实现 [java] view plain copy print? //插入排序 public voi 阅读全文
posted @ 2016-11-09 10:07 小小学徒不辞辛苦 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 选择排序 基本思想 冒泡排序中有一个缺点,比如,我们比较第一个数a1与第二个数a2的时候,只要a1比a2大就会交换位置,但是我们并不能确定a2是最小的元素,假如后面还有比它更小的,该元素还会与a2再次进行交换,而且这种交换有可能发生多次才能确定a2的最终位置。 选择排序可以避免这种耗费时间的交换操作 阅读全文
posted @ 2016-11-09 10:06 小小学徒不辞辛苦 阅读(721) 评论(0) 推荐(0) 编辑
摘要: 排序算法概述 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。 稳定性:一个排序算法是稳定的,就是当有两个相等记录的关键字R和S,且在原本的列表中R出现 阅读全文
posted @ 2016-11-09 10:04 小小学徒不辞辛苦 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 八大排序算法的稳定性及复杂度总结如下: 选择排序算法准则 每种排序算法都各有优缺点。因此,在实用时需根据不同情况适当选用,甚至可以将多种方法结合起来使用。 影响排序的因素有很多,平均时间复杂度低的算法并不一定就是最优的。相反,有时平均时间复杂度高的算法可能更适合某些特殊情况。同时,选择算法时还得考虑 阅读全文
posted @ 2016-11-09 10:00 小小学徒不辞辛苦 阅读(338) 评论(0) 推荐(0) 编辑
摘要: Java标识符 Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。 关于Java标识符,有以下几点需要注意: 所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始 首字符之后可以是任何字符的组合 关键字不能用作标识符 标识符是大小写敏感的 合法标识符 阅读全文
posted @ 2016-11-09 09:58 小小学徒不辞辛苦 阅读(291) 评论(0) 推荐(0) 编辑