- 博客(4)
- 收藏
- 关注
原创 设计算法之分治法(补充)
1.算法说明在设计算法之分治法的博客中,笔者已经写出了一个分治算法,不过那个算法笔者用了个哨兵,L[n1 + 1] = ∞ 和R[n2 + 1]= ∞。现在,我们想要实现的是,不用这个哨兵,那么这个算法该么写呢?本次博文将会给出。2.不用哨兵的分治算法 MERGE2(A,p,q,r) n1 = q – p + 1 n2 = r – q Let[1…n1+1] and R[1
2017-01-18 19:35:30 323
原创 设计算法之分治法
1. 分治法的思想许多有用的算法在结构上是递归的:为了解决一个给定的问题,算法一次或多次递归地调用其自身以解决紧密相关的若干子问题。这些算法典型地遵循分治法的思想:将原先问题分解为几个规模较小但类似于原问题的子问题,递归地求解这些子问题,然后再合并这些问题的解来建立原问题的解。2.分治法的步骤分治模式在每层递归时都有三个步骤:1) 分解:分解原问题为若干子问题,这些子
2017-01-17 22:27:20 1241
原创 获取一周的星期一日期和一个月的第一天星期
1. 需求说明最近笔者在开发一个报表功能时,客户要求报表生成的时间可以自己制定,也就是说我们系统需要提供一个或两个日期的文件框(如果是日报表就一个,如果是周或月或年报表就需要两个)给客户自己填写。除此之外,客户还需求,如果是日报,那么就提供一个文本框,文本框默认为当天的时间;其它的情况就要提供两个文本框,默认的时间是从开始时间到当天时间。例如:周报需要从一周的星期一的日期到当天,月报就需要从
2017-01-17 20:51:01 4638
原创 插入排序
1.说明对于插入排序问题,我们要关心的是输入与输出,所以引入的排序问题:1) 输入:n个数的一个序列(a1, a2, …,an).2) 输出:输入序列的一个排序(a‘1, a‘1, …, a‘n),满足a‘1‘1‘1…‘n循环不变式主要用来帮助我们理解算法的正确性。关于循环不变式,我们必须证明三条性质:1) 初始化:循环的第一次迭代之前
2017-01-15 21:51:27 323
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人