09 2017 档案
摘要:二分查找,又叫做折半查找, 它是有序表的一种查找方式。 折半查找的效率比顺序查找高,但折半查找只适用于有序表,且限于顺序存储结构(对线性链表无法有效地进行折半查找)。 一、二分查找 算法实现 /** * 二分查找(最简单,无重复元素) */ public class BinarySearch { p
阅读全文
摘要:/** * 基数排序 * * @author lp * */ public class RadixSort { public static void radixSort(int[] array) { // 首先确定排序的趟数; int max = array[0]; for (int i = 1; i max...
阅读全文
摘要:一、选择排序的思想 第一次,找出序列中最小的数与第一个数交换。 第二次,找出序列中最小的数与第二个数交换。 第n次 ,找出序列中最小的数与第n 个数交换。 如此反复,直到序列有序。这种方法叫做选择排序,它是在不断的选择剩余元素中的最小者。 二、简单选择排序算法 时间复杂度: 比较次数: 无论初始序列
阅读全文
摘要:一、归并的思想 考试结束后要将全省的学生成绩进行排名,可以依次将每个班级,每个学校,每个市,每个省的排名合并后再排名就可以得到最终的全省排名,这就用到了归并的思想。 看看下面这张图,就能很清晰的说明归并的思想了。红色框中就是无序的序列,通过两两合并后再合并,最终获得了一个有序的数组。 注意观察它的形
阅读全文
摘要:一、冒泡排序 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻的记录,如果反序则交换,直到没有反序为止。冒泡的实现在细节上有多种变化,这里主要学习3种冒泡实现。 下面是冒泡排序的原理图 冒泡排序代码实现 public class BubbleSort { public static int[]
阅读全文