最大子序列和算法

原创 2004年09月14日 13:15:00

#include "stdio.h"

//算法1:

int MaxSubsequenceSum1(const int A[], int N)

{

int ThisSum, MaxSum, i, j, k;

MaxSum = 0;

for(i = 0; i < N; i++)

for(j = i; j < N; j++)

{

ThisSum = 0;

for(k = i; k <= j; k++)

ThisSum += A[k];

if(ThisSum > MaxSum)

MaxSum = ThisSum;

}

return MaxSum;

}

//算法2:

int MaxSubsequenceSum2(const int A[], int N)

{

int ThisSum, MaxSum, i, j;

MaxSum = 0;

for(i = 0; i < N; i++)

{

ThisSum = 0;

for(j = i; j < N; j++)

{

ThisSum += A[j];

if(ThisSum > MaxSum)

MaxSum = ThisSum;

}

}

return MaxSum;

}

//算法4:

int MaxSubsequenceSum4(const int A[], int N)

{

int ThisSum, MaxSum, i;

ThisSum = MaxSum = 0;

for(i = 0; i < N; i++)

{

ThisSum += A[i];

if(ThisSum > MaxSum)

MaxSum = ThisSum;

else if(ThisSum < 0)

ThisSum = 0;

}

return MaxSum;

}

//测试

int main()

{

int a[] = {-2, 11, -4, 13, -5, -2};

int size = sizeof(a) / sizeof(a[0]);

printf("MaxSubsequenceSum1 :%d/n", MaxSubsequenceSum1(a, size));

printf("MaxSubsequenceSum2 :%d/n", MaxSubsequenceSum2(a, size));

printf("MaxSubsequenceSum4 :%d/n", MaxSubsequenceSum4(a, size));

return 0;

}

求最大连续子序列和4种算法解析

1.        题目描述: 给出一个长度为N的序列:a1,a2,……,an,求最大连续和。找到1= 2.        算法1 1)        思路解析:枚举所有可能的子序列的和,通过三...
  • gaoxiangnumber1
  • gaoxiangnumber1
  • 2015年04月16日 23:29
  • 1664

[算法学习笔记]分治法——最大子序列和问题

何为分治法?在上一篇文章中讲到归并排序就有提到过分治法,这里在重复一次:分治法分治法采用了递归的结构,将原问题分成几个规模较小但是类似于原问题的子问题, 通过递归的方式再来求解这些小问题,然后将子问题...
  • u014235934
  • u014235934
  • 2016年07月22日 16:52
  • 2670

求最大子序列长度及最大字段和 --动态规划法C++语言

证明我就不够出了,我参考了这位博主的博客点击打开链接,以及这是麻省理工算法导论关于该问题的讲解视频点击打开链接,我就是参看以上看明白的。 以下代码目的仅为记录和分享,采用C++语言描述 腾讯出的题目是...
  • FreeeLinux
  • FreeeLinux
  • 2016年09月23日 13:46
  • 1180

C 最大子序列算法

  • 2015年03月14日 17:46
  • 2KB
  • 下载

最大子序列和问题四种算法源代码

  • 2017年03月10日 10:04
  • 1.64MB
  • 下载

【数据结构与算法】最大子序列和问题的求解

题目:给一个int类型的数组,就最大子序列的和 解法:一共有四种算法,算法的时间复杂度分别为: 【算法一】 结果是求一个子序列,即其实序列号和终止序列号,那我们就对所有可能的起止序列号...
  • u013177446
  • u013177446
  • 2017年01月06日 10:20
  • 823

最大子序列和的四种求解算法及其时间比较

1、T(N)=O(N^3) __int64 algorithm1(__int64 a[],__int64 n) //T(N)=O(N^3) { __int64 MaxSum = 0; ...
  • q547550831
  • q547550831
  • 2015年07月26日 15:02
  • 1095

经典算法--求最大子序列和

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yaoxy/archive/2009/06/23/4289254.aspx 比较经典的算法问题,能够很好的体现动态...
  • liangxanhai
  • liangxanhai
  • 2012年09月09日 20:27
  • 1078

求最大子序列和问题(读《数据结构与算法分析——C语言描述》有感)

根据《数据结构与算法分析——C语言描述》中的“最大子序列和”问题来看如何分析算法。...
  • longli6438
  • longli6438
  • 2015年02月01日 21:04
  • 900

算法交作业之最大子序列问题

最近看《数据结构与算法分析》一书,书中提供的一些算法太棒了,忍不住动手实现了下。有错误请指出,谢谢。 最大子序列问题求解:1.第一种解法:int MaxSubSequence(const int ar...
  • u014343243
  • u014343243
  • 2015年04月09日 13:37
  • 461
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最大子序列和算法
举报原因:
原因补充:

(最多只允许输入30个字)