算法导论
soapIII
这个作者很懒,什么都没留下…
展开
-
算法导论1
最近在看《算法导论》,身为初学者想做些笔记来记录自己的学习过程,大神请飘过自己将书中的伪代码用C实现并贴了出来,由于是初学者所以说对书中的内容理解的也许还不够充分,代码有的地方也不够简洁和合理,欢迎大家指正(代码均在vc++6.0中测试无误)。书中首先介绍了一些排序算法。1,插入排序(Insertion-sort)时间复杂度Θ(n²)由于比较简单直接贴上自己的代码#in原创 2014-01-21 20:58:55 · 568 阅读 · 0 评论 -
【基础算法】二分法查找
如果序列A已经排好序,就可以将该序列的中点与v进行比较,根据比较结果,原序列A中的一半就不用再进一步考虑了,二分查找算法重复此操作,每次都将剩余的部分规模减半(分治法的思想)。 二分法查找的最坏情况运行时间为Θ(lgn)。 代码如下:#include int Recurbinary (int * a,int p,int r,int v);int main (){ in原创 2014-01-23 21:11:36 · 803 阅读 · 0 评论 -
算法导论2-最大子数组
最大子数组问题 假设数组a[low..high],求存在于数组a中的连续子数组之和(或数组中连续元素之和)最大的子数组,例如a[4]={3,-2,1,-2}的最大子数组为a[0->2]和最大为3+(-2)+1=2。 如果采用暴力求解的算法则问题也可以很简单的求解出来,不过这种方法的时间复杂度为Ω(n²),所以写一下更好的方法。 使用分治策略的求解方法直接引用书上的原创 2014-01-27 18:18:52 · 637 阅读 · 0 评论