数据结构与算法分析(C++第三版)第二章问题总结
来源:互联网 发布:mac迅雷自带播放器 编辑:程序博客网 时间:2024/05/16 09:42
第二章
(1)最大子序列和问题
求解方法:
算法1:时间复杂度O(
算法2:时间复杂度O(
算法3:时间复杂度O(
//编写实现//编写网址:http://www.anycodes.cn/zh/#include <iostream>#include <string>#include <vector>#include <algorithm>using namespace std;int maxvalue(vector<int>&a ,int left,int right){ if(left==right){ if(a[left]>0){ return a[left]; }else{ return 0; } } int center=(left+right)/2; int maxleft=maxvalue(a,left,center); int maxright=maxvalue(a,center+1,right); int borderleftmax=0,borderleftsum=0; for(int i=center;i>=left;i--){ borderleftsum+=a[i]; if(borderleftsum>borderleftmax){ borderleftmax=borderleftsum; } } int borderrightmax=0,borderrightsum=0; for(int i=center+1;i<=right;i++){ borderrightsum+=a[i]; if(borderrightsum>borderrightmax){ borderrightmax=borderrightsum; } } int merge=borderleftmax+borderrightmax; return max(max(maxleft,maxright),merge);}int main(){ int arraym[]={-2,11,-4,13,-5,-2}; vector<int> m(arraym,arraym+6); cout<<maxvalue(m,0,5)<<endl; return 0;}
算法4:时间复杂度O(
(2)二分搜索
给定一个整数X和整数
//自己编写的代码,可在下述在线编译网址上运行成功#include <iostream>#include<vector>using namespace std;int main(){ int arraym[]={-1,-2,3,5,6,9,15}; vector<int> a(arraym,arraym+7); int x=6; int m=0,n=a.size()-1; int center=(m+n)/2; while(m!=n){ if(a[center]==x) {cout<<center<<endl;break;} else if(a[center]>x) {n=center;} else { m=center;} center=(m+n)/2; } if(a[center]!=x) cout<<"-1"<<endl; return 0;}
在线编译网址:http://www.anycodes.cn/zh/
书中代码如图所示:
(3)欧几里得算法
(4)幂运算
阅读全文
0 0
- 数据结构与算法分析(C++第三版)第二章问题总结
- 【数据结构与算法分析 】第三章总结
- 【数据结构与算法分析】第一章、第二章总结
- 数据结构与算法(C语言) 第二章 算法分析 读书笔记
- 数据结构与算法分析C语言描述(第二版)示例代码下载
- 平方探测法的证明《数据结构与算法分析(C语言描述)第二版》P119
- 数据结构与算法分析(C语言版)第二章习题2.7代码实现
- 《数据结构与算法分析(c 描述)》—— 第二章笔记
- 数据结构与算法分析 第二章
- 数据结构与算法分析第二章读书笔记
- 《数据结构与算法分析--c语言描述》之第二章:算法分析
- java数据结构与算法--第二章总结
- 数据结构与算法分析学习笔记---第三章(链表)
- 【算法】数据结构与算法分析学习笔记——第三章习题选做Josephus问题
- 《数据结构与算法分析》笔记------第二章、最大子序列和问题的解
- 数据结构与算法分析(C)1.4
- 《数据结构与算法分析》笔记------第二章、对分查找
- 数据结构与算法分析学习笔记---第二章
- 视频、音频打时间戳的方法(转)
- linux下创建具有root权限的帐号
- 在【商品列表页面】分享【商品详情】----网易手推公众号效果
- PHP中数组遍历
- mysql主从复制
- 数据结构与算法分析(C++第三版)第二章问题总结
- ASP.NET没有魔法——ASP.NET MVC & 分层
- 调用微信API获得昵称有图像不能保存的问题
- linux下使用diff制作补丁,使用patch打补丁
- 牛客网python编程题目(一)数串
- hadoop DistributeCache的用法
- 国际产品经理资格认证NPDP 2017
- 研究 PHP opcode 是如何优化的
- 关于chrome主页被捆绑问题