随笔分类 -  算法相关

摘要:本文转载于:http://blog.csdn.net/zolalad/article/details/11848739 一、时间复杂度是一种事前分析估算的方法 因事后统计方法更多的依赖于计算机的硬件、软件等环境因素,有时容易掩盖算法本身的优劣。因此人们常常采用事前分析估算的方法。 在编写程序前,依据 阅读全文
posted @ 2017-09-12 21:46 SummerChill 阅读(2043) 评论(0) 推荐(0)
摘要:插入排序也是一类非常常见的排序方法,它主要包含直接插入排序,Shell排序和折半插入排序等几种常见的排序方法. 1.直接插入排序 直接插入排序的思路非常简单:依次将待排序的数据元素按其关键字值的大小插入前面的有序序列. 细化来说:对于一个有n个元素的数据序列,排序需要进行n-1趟插入操作,如下所示: 阅读全文
posted @ 2017-07-06 18:17 SummerChill 阅读(907) 评论(1) 推荐(0)
摘要:二分法:(二分法不是只能做数组,这里的数组只是为了举例) 在给出的有序排列的数组中,把目标值和数组中间值进行比较,如果相等,则返回中间值下标,如果目标值小于中间值,就从数组的前半段再次执行二分法查找,如果目标值大于中间值,从数组的后半段开始二分法查找 二分法查找主要是比较的次数少,查找的速度快,平均 阅读全文
posted @ 2017-07-03 16:26 SummerChill 阅读(3740) 评论(0) 推荐(0)
摘要:交叉合并:如字符串一为:abcd 字符串二为:1234则结果为:a1b2c3d4 1 import java.util.ArrayList; 2 import java.util.List; 3 4 public class A { 5 public static void main(String[ 阅读全文
posted @ 2014-11-13 11:07 SummerChill 阅读(1498) 评论(0) 推荐(0)
摘要:所谓递归(Rcursion),就是方法调用自身.对于递归来说,一定有一个出口,让递归结束,只有这样才能保证不出现死循环. 一些复杂的应用递归还是挺难的,比如在调试的时候A调用B,直接去B看就行了,但是递归的话调试的时候又去A了.对思维要求还是比较高的. 比如:n! = n * (n-1) * (n- 阅读全文
posted @ 2014-11-08 18:51 SummerChill 阅读(392) 评论(0) 推荐(0)
摘要:一.排序算法的历史: 排序算法的发展历史几乎和计算机的发展历史一样悠久,而且直到今天,世界范围内依然有计算机科学家正在研究着排序的算法,由此可见排序算法的强大魅力. 我们现在介绍的排序算法都是前任研究的经典成果,具有极高的学习价值和借鉴意义. 排序算法属于算法的一种,而且是覆盖范围极小的一种,虽然排 阅读全文
posted @ 2014-11-08 18:50 SummerChill 阅读(1142) 评论(0) 推荐(0)
摘要:快速排序(Quicksort)是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 实现方式一: 实现方式二: 阅读全文
posted @ 2014-11-08 02:25 SummerChill 阅读(536) 评论(0) 推荐(0)
摘要:关于反转这个问题,在晚上查了些资料,有很多非常不错的思想,要熟练的掌握这些思想,现在把这些总结如下: 字符串反转: 数组的反转(我就找到一个比较经典的): 高大上的数组转换位置..... 阅读全文
posted @ 2014-11-08 02:06 SummerChill 阅读(1736) 评论(0) 推荐(0)