2016年3月8日

摘要: 算法概述: 与归并排序一样,快速排序也是基于分治思想的一种应用。对于包含n个数的输入数组来说,快速排序是一种最坏情况时间复杂度为O(n²)的排序算法。虽然最坏情况时间复杂度很差,但是快速排序通常是实际排序应用中最好的选择,因为它的平均性能非常好:它的期望时间是O(nlgn)且隐含的常数因子非常小,能 阅读全文
posted @ 2016-03-08 15:09 杯杯 阅读(226) 评论(0) 推荐(0) 编辑
 

2016年3月3日

摘要: 算法概述:插入排序是稳定排序,具体流程如下: 1、从第一元素开始,认为第一个元素已经被排序; 2、取出下一个元素,在已经排序的元素序列中从后向前进行比较 3、如果取出的元素小于被比较的元素,则向前移; 4、如果取出的元素大于或等于比较的元素,则直接插入当前位置; 5、重复取出下一个元素进行2-4步骤 阅读全文
posted @ 2016-03-03 16:26 杯杯 阅读(197) 评论(0) 推荐(0) 编辑
 

2016年2月2日

摘要: 二分查找概念: 二分查找算法是在有序数组中用到的较为频繁的一种算法,二分查找其实是分治算法的一个实例; 针对有序表的查找方法,比较次数少,查找快,平均性能好。插入删除比较困难。一般用于有序的不常插入删除而查找频繁的表; 步骤: 1、获取表的中间键,将中间键与查找的键相比; 2、如果查找键小于中间键, 阅读全文
posted @ 2016-02-02 21:06 杯杯 阅读(228) 评论(0) 推荐(0) 编辑
 
摘要: 归并排序是基于分治策略思想的一种典型有效的排序算法; 算法步骤: 1、将n个元素的原数组划分成只有一个元素的子数组,因为子数组只有一个元素则可以将子数组视为有序数组; 2、两两进行合并,由小到大将元素复制到临时数组中,复制完成后临时数组回写到原数组; 3、重复2步骤; 稳定性:稳定排序 因为划分时是 阅读全文
posted @ 2016-02-02 20:17 杯杯 阅读(196) 评论(0) 推荐(0) 编辑
 

2016年2月1日

摘要: 分治法设计思想: 1、将原问题分解为几个规模较小但类似于原问题的子问题,递归地求解这些子问题,然后再合并这些子问题的解来建立原问题的解; 2、解决问题所需的计算时间都与其规模有关,问题的规模越小,越容易求解,所需的计算时间也越少。分治法就是将一个难以解决的大规模的问题,拆分成规模小且所需计算时间少的 阅读全文
posted @ 2016-02-01 17:06 杯杯 阅读(1144) 评论(0) 推荐(0) 编辑
 

2016年1月29日

摘要: 伪代码规则:注意关键字不区分大小写 变量声明语句:Dim<变量> As <类型> 如:Dim a As INTEGER; 赋值语句:<变量>=<表达式> 如:a = 1; 或 a <- 1; 输入与输出:Input 与Output; 简单运算符:a + b > c; 复合条件:(a < b) AND 阅读全文
posted @ 2016-01-29 21:19 杯杯 阅读(1922) 评论(0) 推荐(0) 编辑