
算法
麦田
生命本来就是一束耀眼的花火...
展开
-
Java算法基础之快速排序算法
所谓的快速排序的思想就是,首先把数组的第一个数拿出来作为一个key,在前后分别设置一个i,j作为标识,然后拿这个数组从后面往前遍历, 及j- -,直到找到第一个小于这个key的那个数然后交换这两个值,交换完成后,我们拿着这个key要从i往后遍历了,及i++ 一直循环到i=j结束, 当结束后,我们会发现大于这个key的值都会跑到这个key的后面,小于这个key的值就会跑到这个值的前面,然后我们对原创 2017-02-19 23:11:03 · 1481 阅读 · 0 评论 -
冒泡排序、快速排序
冒泡排序算法的运作如下:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3、针对所有的元素重复以上的步骤,除了最后一个。4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。冒泡排序最好的时间复杂度为0(n)冒泡排序最坏的时间复杂度为0(n2)翻译 2013-06-03 22:23:02 · 2082 阅读 · 0 评论 -
Java递归算法
递归算法 其实就是程序的自身调用。在做递归算法的时候,必须要有一个明确的递归结束条件, 当满足了这个条件的时候就不再递归了。 下面用Java实现两个基础的递归算法/** * 求1+2+3+...+n的和 */class Recurrent { int sum = 0; int flag = 1; public void count(int number) {原创 2015-08-23 22:55:27 · 2131 阅读 · 0 评论