原理:比较临近的两个数字,按照从小到大的顺序进行交换,这样一趟过去后,最大(最小)的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第i位时结束。 分析:稳定,空间复杂度O(1),时间复杂度【最佳、最差、平均都是O(n*n)】。 分析:稳定,空间复杂度O(1),时间复杂度[最佳为O( ...
分类:
编程语言 时间:
2017-12-14 19:16:31
阅读次数:
113
最近查资料发现java排序挺有意思的,其中包含常见八种具有代表性的排序法;笔者觉得排序的功能重要,但更重要的是排序的思想;所以简单叙述一下常见排序方法名称,并用代码举例。 A.插入排序(直接插入排序、希尔排序);B.交换排序(冒泡排序、快速排序);C.选择排序(直接选择排序、堆排序);D.归并排序; ...
分类:
编程语言 时间:
2017-12-12 21:00:46
阅读次数:
149
方法一:交换排序 实现方法:把第一个位置的数字拿出来,依次合后面位置的数字比较,若比后面数字大,则交换 int[] str = new int[5] {237,5,88,1,101}; for (int i = 0; i < str.Length-1; i++) { for (int j = i + ...
分类:
编程语言 时间:
2017-12-10 11:24:55
阅读次数:
184
目录 其中排序算法总结如下: 一.交换排序 交换排序的基本思想都为通过比较两个数的大小,当满足某些条件时对它进行交换从而达到排序的目的。 1.冒泡排序 基本思想:比较相邻的两个数,如果前者比后者大,则进行交换。每一轮排序结束,选出一个未排序中最大的数放到数组后面。 分析: 最差时间复杂度为O(n^2 ...
分类:
编程语言 时间:
2017-12-09 23:48:40
阅读次数:
173
思想:两两比较,一旦发现不满足次序要求时进行交换,知道整个序列满足排序要求。 典型:冒泡排序与快速排序。 冒泡排序 思想:比较相邻两个,逆序就交换,每次排序将最大的‘下沉’或最小的‘上浮’。 时间复杂度: 最好情况:正序。只需要一趟排序,进行n-1次比较,不移动记录。 最坏情况:逆序。只要n-1趟排 ...
分类:
编程语言 时间:
2017-12-04 00:50:50
阅读次数:
195
快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序 ...
分类:
编程语言 时间:
2017-11-12 22:18:50
阅读次数:
277
排序的分类: 一.交换排序 所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。 1.冒泡排序 算法原理 算法原理 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们 ...
分类:
编程语言 时间:
2017-10-15 18:00:17
阅读次数:
186
1 按照排序特性分类 首先按照排序本身的操作特性可以分为下面几种: (1)插入排序 a.直接插入排序(Insert Sort) O(n^2)(稳定) b.折半插入排序(Binary Insert Sort) (不稳定) c.希尔排序(Shell Sort) (不稳定) (2)交换排序 a.冒泡排序( ...
分类:
编程语言 时间:
2017-10-13 00:43:52
阅读次数:
311
1.就你所熟悉的银行业务面说一下,越详细越好 银行经验:手机银行 网上银行经验 怎么支付 转账 了解基本业务 2.了解工作流的控制,审批流程以及帐务处理么? java中怎么实现工作流、审批流程,java怎么实现报表功能? web 项目整合 jbpm或者其他工作流组件 3.java开发web有几种开发 ...
分类:
编程语言 时间:
2017-09-30 15:07:01
阅读次数:
184
所谓交换排序就是依次比较两个相邻元素的大小并根据需求进行交换,这里有两种交换排序。 1、冒泡排序、冒泡排序就是依次比较两个相邻数字,把两个数字中较大的放后边(这是从小到大排序,如果是降序排列,则反过来),这样一轮跑下来最大的那个数字就放到了最后,所谓冒泡就是每次都拿到当前剩余数字中最大的那个并依次放 ...
分类:
编程语言 时间:
2017-09-24 14:29:59
阅读次数:
190