
算法
文章平均质量分 92
iteye_2642
这个作者很懒,什么都没留下…
展开
-
Java排序算法之直接插入排序
直接插入排序算法的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排序过程。 把a[i]插入到a[0],a[1],...,a[i-1]之中的具体实施过程为:先把a[i]赋值给变量t,然后将t依次与a[i-1]...原创 2014-06-21 19:33:52 · 165 阅读 · 0 评论 -
Java排序算法之冒泡排序
冒泡排序算法的基本思想是:首先将第n-1个记录的关键字和第n个记录的关键字进行比较,若为“逆序”(即L.r[n].key原创 2014-06-21 20:22:39 · 106 阅读 · 0 评论 -
Java排序算法之简单选择排序
在网上搜索了很多的算法,貌似大家说的简单选择排序算法和直接选择排序算法是一回事。 直接选择排序算法的基本思想是:n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果: ①初始状态:无序区为R[1..n],有序区为空。 ②第1趟排序 在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[...原创 2014-06-21 22:31:30 · 127 阅读 · 0 评论 -
Java排序算法之快速排序
快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。 步骤为: 从数列中挑出一个元素,称为 "基准"(pivot), 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。 递...原创 2014-06-22 11:27:46 · 108 阅读 · 0 评论 -
算法的时间复杂度分析
2.9.1 算法时间复杂度定义 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是 算法的时间量度,记作:T(n) = O(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中f(n)是 问题规模n的某...原创 2014-07-20 11:14:03 · 507 阅读 · 0 评论