当前位置: 首页 > news >正文

沧州网站建设 凯航网站提升收录

沧州网站建设 凯航,网站提升收录,wordpress用户组设置,山西网络营销外包给定N个整数的序列{ A1, A2, …, AN}#xff0c;其中可能有正数也可能有负数#xff0c;找出其中连续的一个子数列#xff08;不允许空序列#xff09;#xff0c;使它们的和尽可能大#xff0c;如果是负数#xff0c;则返回0。使用下列函数#xff0c;完成分治法求最大… 给定N个整数的序列{ A1, A2, …, AN}其中可能有正数也可能有负数找出其中连续的一个子数列不允许空序列使它们的和尽可能大如果是负数则返回0。使用下列函数完成分治法求最大子列和。 这是自己大一暑假写的逐次遍历的方法以下是分而治之的方法 题目如标题题目用到了分而治之的算法思想以下是分而治之的定义 “分而治之”Divide andConquer 是一种算法设计思想它将一个大问题分解成相互独立且相似的子问题然后递归地解决这些子问题最后将它们的解合并起来得到原问题的解。这种策略通常包括三个步骤 分解Divide 将原问题分解为若干个规模较小且相互独立的子问题。 解决Conquer 递归地解决这些子问题。如果子问题足够小可以直接求解。 合并Combine 将子问题的解合并起来形成原问题的解。 分而治之的思想常常应用在解决复杂问题的过程中它可以提高算法的效率。一些著名的算法如归并排序、快速排序、二分查找等都是采用了分而治之的策略。这种思想在许多计算机科学和算法领域都有广泛的应用。此题目就是用了分而治之中的二分法改善了题目的时间复杂度 这是自己大一暑假写的逐次遍历的方法 时间复杂度是O(n²) #includestdio.h #define MAX 100000 int main() {int i,j,n,maxSum,tempSum,a[MAX];//定义数组大小的新方法即通过宏定义 scanf(%d,n);for(i0;in;i){scanf(%d,a[i]);}maxSum0;for(i0;in;i){tempSum0;//保证每个初始值为0 for(ji;jn;j)//循环不止有计数功能有数组时一定要注意下标 {tempSuma[j];if(tempSummaxSum)//核心问题可以算一步判断一步 maxSumtempSum;}}printf(%d,maxSum); }以下是分而治之的方法 T ( N ) O( N log N ) int MaxSum(int a[],int left,int right); int threeOfMax(int a1,int a2,int a3); int centerMaxSum(int a[],int left,int right);c #includestdio.h #define N 50 int MaxSum(int a[],int left,int right); int centerMaxSum(int a[],int left,int right); int threeOfMax(int a1,int a2,int a3); int main(){int n;int a[N];printf(请设置数组位数n\n);scanf(%d,n);printf(请输入数值\n);for(int i 0;in;i){scanf(%d,a[i]);}int left0;int rightn-1; int maxSubSum MaxSum(a,left,right);printf(最大子序列的和为:%d\n,maxSubSum);return 0; } int MaxSum(int a[],int left,int right){int a1,a2,a3,i;int MaxLeftSum, MaxRightSum; //存放左右子问题的解int MaxLeftBorderSum, MaxRightBorderSum; //存放跨分界线的结果int LeftBorderSum, RightBorderSum;// 递归终止条件 直到分到最后一个元素 if(leftright){if( a[left] 0 )return a[left];elsereturn 0;}int mid (leftright)/2;// 划分左边a1 MaxSum(a,left,mid);// 划分右边a2 MaxSum(a,mid1,right);// 求解s3 MaxLeftBorderSum 0;LeftBorderSum 0;for( imid; ileft; i-- ) //从中线向左扫描{LeftBorderSum a[i];if( LeftBorderSum MaxLeftBorderSum )MaxLeftBorderSum LeftBorderSum;} //左边扫描结束MaxRightBorderSum 0;RightBorderSum 0;for( imid1; iright; i ) //从中线向右扫描{RightBorderSum a[i];if( RightBorderSum MaxRightBorderSum )MaxRightBorderSum RightBorderSum;} //右边扫描结束 a3 centerMaxSum(a,left,right);;//下面返回治的结果return threeOfMax( MaxLeftSum, MaxRightSum, MaxLeftBorderSum MaxRightBorderSum );} // 求解s3 int centerMaxSum(int a[],int left,int right){int leftSum 0;int rightSum 0;int templeftSum 0;int temprightSum 0;int mid(leftright)/2;for(int i mid;ileft;i--){templeftSum templeftSuma[i];if(templeftSumleftSum)leftSumtempleftSum; }for(int j mid1;jright;j){temprightSum temprightSuma[j];if(temprightSumrightSum)rightSumtemprightSum;}return leftSumrightSum; }// 求解最大的子列和 int threeOfMax(int a1,int a2,int a3){int maxSum a1a2?a1:a2;return maxSuma3?maxSum:a3; }摘自
http://www.yutouwan.com/news/470507/

相关文章:

  • 怎样做网站赚流量太原广告公司网站建设
  • 许昌网站建设镇江市住房和城乡建设局网站
  • 长春优惠做网站甘肃网站seo哪家公司好
  • 一般卖机械行业的做哪些网站注册公司流程及步骤
  • 建一个公司网站费用安徽省建设厅网站官网
  • 加强三农网站建设的意义企业资质查询平台
  • 建网站软件工具wordpress七牛云图床
  • 网站建设方案怎么做东莞wordpress建站
  • 福建做网站公司wordpress 集成支付宝
  • 郑州彩票网站建设微信小程序开发文档 菜鸟教程
  • 自学网站建设要看什么书wordpress百度云cdn
  • 做网站必须要dreameverWordPress目录和连接关系
  • 农业网站设计wordpress路由重写
  • 有情怀的网站设计e福州app
  • 常州市建设局网站资质无锡网站推广
  • 母婴网站模板手机主题制作网站
  • 响应式网站建设的优势牡丹江在哪个城市
  • wordpress小说网站国内ui做的好的网站
  • 广东手机网站建设品牌门户网站开发案例
  • 可以做分销的网站明空网络做网站好不好
  • wordpress申请子站做淘宝客网站有什么服务器
  • 江苏住房和城乡建设信息网站农业网站建设招标书
  • 广安市网站建设公司建设电子商务网站要素
  • 河间市做网站价格怎样做网站不花钱
  • 中国万网注册网站产品ui设计是什么
  • 有什么公司是建设网站的吗2016wordpress淘宝客程序
  • 昆明网站建设价格深圳市福田建设股份有限公司网站
  • 微信网站开发报价cmsv6官方免费下载
  • 即时灵感网站wordpress搬家 打开404
  • 有自建服务器做网站的吗网站建设与管理下拉列表框