
算法
文章平均质量分 75
yuanyuanprince
这个作者很懒,什么都没留下…
展开
-
四种求最大子序列和问题的解
#include#includeusing namespace std;int maxSubSum1(const vector &a){ int maxSum=0;/*记录最大子集和*/ /*枚举所有出现的子集*/ for(int i=0;i!=a.size();i++)/*保证n趟遍历*/ { for(int j=i;j!=a.size();j++)/*原创 2012-06-01 17:15:26 · 493 阅读 · 0 评论 -
数据结构与算法分析 随笔2
#includeusing namespace std;/*n的二进制数中1的个数*//*n是奇数的话,它等于n/2的二进制表示中的1的个数加1*/int ones(int n){ cout<<"调用"<<n<<endl; if(n<2) return n; return n%2+ones(n/2);}int main(){ cout<<o原创 2012-05-31 08:59:34 · 324 阅读 · 0 评论 -
表,栈,队列程序代码片段
#include#includeusing namespace std;template void printLots(const list & L,const list & P){ list::const_iterator iter1=L.begin(); list::const_iterator iter2=P.begin(); int start=1; for(;iter原创 2012-06-02 21:59:45 · 571 阅读 · 0 评论 -
数据结构与算法分析 树
由后缀式构造二叉表达树,前序遍历是前缀式,中序遍历是中缀式,后序遍历是后缀式#include#includeusing namespace std;templatestruct BinaryNode{ Object data; BinaryNode *left; BinaryNode *right; BinaryNode(const Object & x,BinaryN原创 2012-06-04 15:33:12 · 595 阅读 · 0 评论 -
KMP算法解决字符串匹配问题
KMP算法解决的问题是字符匹配,是由Knuth–Morris–Pratt共同开发出来的,这个算法把字符匹配的时间复杂度缩小到O(m+n),而空间复杂度也只有O(m),n是target的长度,m是pattern的长度,在此算法在发明之前并不是没有如此高效的算法,但是原算法比较复杂。Kmp算法优雅高效,但是实现却不难理解且代码长度很短,是优秀算法设计的典范,值得拿出来仔细分析。一、原始匹配算法转载 2012-05-21 08:36:51 · 609 阅读 · 0 评论