TreeMind树图在线AI思维导图
当前位置:树图思维导图模板资格考试计算机分治法5思维导图

分治法5思维导图

  收藏
  分享
免费下载
免费使用文件
Mr.Xu 浏览量:42023-03-21 20:49:28
已被使用0次
查看详情分治法5思维导图

分治法介绍

树图思维导图提供 分治法5 在线思维导图免费制作,点击“编辑”按钮,可对 分治法5  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:471b300a36e8ff3a8ac66e406c40ded5

思维导图大纲

分治法5思维导图模板大纲

上节课课后作业

1244:和为给定数

思路

先将整个数组进行排序,然后运用到一个叫双指针的东西,即一个指针从第一个开始一直向右,第二个指针从最后一个开始一直向左。当第一个指针与第二个重合或超过第二个指针时,循环退出。

核心代码

int s=1,x=n; while(s<x){ if(a[s]+a[x]==m){ cout<<a[s]<<" "<<a[x]; return 0; } else if(a[s]+a[x]>m) x--; else if(a[s]+a[x]<m) s++; }

本课习题

插入排序

思路

先把这题可以分解为两个小问题:1.将前n-1个数排好序2.将第n个数插进去

核心代码

void isort(int x){ //解决基本情况:当x==1时直接返回 if(x==1) return ; //子问题1:将前n-1个数排好序 isort(x-1); //子问题2:将第x个整数插入进去 int t=a[x],i; for(i=x-1;i>=1;i--){ if(a[i]>t) a[i+1]=a[i]; else break; } a[i+1]=t; }

归并排序

核心代码

void merge(int l,int mid,int r){ int i,j,k; i=l;j=mid+1;k=l; while(i<=mid&&j<=r){ if(a[i]<=a[j]) b[k++]=a[i++];//b数组暂时存放一下里面的值,a[i]和a[j]哪个小放哪个 else b[k++]=a[j++]; } while(i<=mid) b[k++]=a[i++];//检查是否有遗漏 while(j<=r) b[k++]=a[j++]; for(int i=l;i<=r;i++)a[i]=b[i];//重新赋值给a } void msort(int l,int r){ int mid=(l+r)/2; if(l==r) return;//边界 msort(l,mid);//先把起始点到中间的找到 msort(mid+1,r);//再把中间到最后的找到 merge(l,mid,r);//合并,排序 }

相关思维导图模板

抓住重点思维导图

树图思维导图提供 抓住重点 在线思维导图免费制作,点击“编辑”按钮,可对 抓住重点  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4c49e4799ddf94a339c56e46eb96a826

销售六步法思维导图

树图思维导图提供 销售六步法 在线思维导图免费制作,点击“编辑”按钮,可对 销售六步法  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:59dc5c080ff433a0f60f2d7620e649dd