1 /** 2 * 1.数组sort()排序 3 * 2.直接选择排序(两重for循环排序) 4 */ 5 import java.lang.*; 6 import java.lang.reflect.Array; 7 import java.util.*; 8 import static java... ...
分类:
编程语言 时间:
2018-10-09 16:59:32
阅读次数:
122
1.基本思想 将指定排序位置与其他数组元素分别对比,如果满足条件就进行交换。个人理解其实就是每趟循环从数组里选一个最大的值(最小的值)放到数组最后(最前)。 2.算法实现 这里以每趟循环从数组中选择一个最大的值来实现。可知,只需进行 n-1次循环,便能完成排序。 Java实现代码如下: Python ...
分类:
编程语言 时间:
2018-09-13 10:21:26
阅读次数:
173
1、快速排序快速排序是,设定一个基准,从两头出发把小于基准的序列统一在左边,大于基准的序列在右边。时间复杂度:平均O(nlogn)2、冒泡排序冒泡排序是,通过和相邻的元素比较,重复遍历。时间复杂度:O(n^2)3、直接选择排序直接选择排序是一种,把前面无序区最小的元素放到有序区的最后。时间复杂度:O(n^2)4、堆排序堆排序,是一种类似二叉树进行排序的方法,通过升序或者降序,保证父节点比子节点都大
分类:
编程语言 时间:
2018-09-06 20:06:26
阅读次数:
165
摘要: 所谓排序,就是根据排序码的递增或者递减顺序把数据元素依次排列起来,使一组任意排列的元素变为一组按其排序码线性有序的元素。本文将介绍八种最为经典常用的内部排序算法的基本思想与实现,包括插入排序(直接插入排序,希尔排序)、选择排序(直接选择排序,堆排序)、交换排序(冒泡排序,快速排序)、归并排序 ...
分类:
编程语言 时间:
2018-07-15 21:13:45
阅读次数:
210
一、C 程序实现 运行结果: 二、Java 程序实现 运行结果: 三、Python 程序实现 运行结果: ...
分类:
编程语言 时间:
2018-06-24 19:20:52
阅读次数:
156
分类 一、按照是否数据涉及内外存交换 1-内部排序:适用于记录个数不是很多的小文件 2-外部排序:适用于记录个数太多,不能一次将全部记录放入内存的大文件 二、按照策略划分内部排序方法 1-插入排序:直接插入排序与希尔排序 2-选择排序:直接选择排序与堆排序 3-交换排序:冒泡排序与快速排序 4-归并 ...
分类:
编程语言 时间:
2018-05-27 17:18:07
阅读次数:
252
选择排序比较好理解,好像是在一堆大小不一的球中进行选择(以从小到大,先选最小球为例): 1. 选择一个基准球 2. 将基准球和余下的球进行一一比较,如果比基准球小,则进行交换 3. 第一轮过后获得最小的球 4. 在挑一个基准球,执行相同的动作得到次小的球 5. 继续执行4,直到排序好 时间复杂度:O ...
分类:
编程语言 时间:
2018-05-14 11:41:46
阅读次数:
181
基本思想:就是把这一堆元素里面最大的一个跟最后一个元素换位置 实现代码: import java.util.Arrays;public class Test2 { public static void main(String[] args) { int [] arr=new int[]{44,23, ...
分类:
编程语言 时间:
2018-04-15 16:25:58
阅读次数:
212
排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。 内排序有可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选择排序:直接选择排序、堆排序。 (3)、 ...
分类:
编程语言 时间:
2018-04-10 13:39:28
阅读次数:
179
直接选择排序:直接选择排序(Straight Select Sort)算法思想:第一趟从n个元素的数据序列中选出关键字最小/大的元素并放在最前/后位置, 下一趟从n-1个元素中选出最小/大的元素并放在最前/后位置。以此类推,经过n-1趟完成排序。时间复杂度O(n**2) ...
分类:
编程语言 时间:
2018-04-05 20:07:55
阅读次数:
176