随笔分类 -  算法设计与分析

算法,算法导论,TAOCP
从装配线到DNA比对——神器动态规划
摘要:【前言】对于一个问题,我们如果可以枚举所有的解,那么这个解空间我们是知道的。那么如何在解空间里面找到最优解呢?这时有一个非常好的方法,从底向上地构造整个解,而每一步都是从地层寻求最优解,这样就能保证在最终得到的一定是最优解。这就是最优子结构,有这种结构的问题,通常都可以用动态规划的办法来寻求最优解。而且它是从小规模(子问题)到大规模问题的构造,而常常这样的解法能够用一张表直观地表现出来。表中的元素是一个表达式的某个特定值,这个表达式表现的是问题和子问题的关系,也就是如何在子问题中的解中寻找最优的关系,这样的关系在例子中会非常地明了。【装配流水线】往往最经典的算法书里面都会讲最经典的“装配流水线 阅读全文

posted @ 2012-04-22 06:31 bibodeng 阅读(548) 评论(0) 推荐(0)

编程的最低境界——徒手写排序算法
摘要:【编程的最低境界】自从学习了高级语言C/C++之后,接着就学习了一些简单的算法。最近看《算法导论》,又重新学习了一下之前的最最基础的算法——“排序”。排序虽然基础,能根据各种排序方法的思想徒手写出排序算法来,是编程的最低阶段,排序都写不好,就别谈开发好的软件了。虽然其他博客上到处都是排序的文章和代码,但是我觉得还是要写一写,记录下思考的过程,同时给自己动手的机会。有兴趣的同学可以翻翻《算法导论》17页的归并排序以及第二部分的第六章堆排序和第七章快速排序。【排序的思想】根据导论的说法,排序就是输入一组数据 x1,x2,x3...xn,经过排序后能够输出x1',x2',x3' 阅读全文

posted @ 2012-04-18 21:59 bibodeng 阅读(531) 评论(0) 推荐(0)

导航