- 1、本文档共108页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第4章分而治之—分治法;分治从字面上的解释就是“分而治之”。
把一个复杂的问题分成k(1k≤n)个相同或相似的子问题,再把子问题分成更小的子问题,以此类推,直到可以直接求解为止,原问题的解可以通过子问题的解合并得到。;分治法求解问题的特征;分治算法的求解过程;1 defdivide-and-conquer(P): #分治算法框架
2 if|P|≤n0:returnadhoc(P)
3 将P分解为较小的子问题P1,P2,…,Pk
4 foriinrange(1,k+1): #循环处理k次
5 yi=divide-and-conquer(Pi) #递归解决Pi
6 returnmerge(y1,y2,…,yk) #合并子问题;【例4-1】给定一棵采用二叉链存储的二叉树b,设计一个算法求其中叶子结点的个数。;;;;;;;;;;;;;;;;;;;已知由n(n≥2)个正整数构成的集合A={ak}(0≤kn),将其划分为两个不相交的子集A1和A2,元素个数分别是n1和n2,A1和A2中元素之和分别为S1和S2。设计一个尽可能高效的划分算法,满足|n1-n2|最小且|S1-S2|最大。要求:
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C、C++描述算法,关键之处给出注释。
(3)说明你所设计算法的时间复杂度和空间复杂度。;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;采用二分法求含有n个有序元素的序列a、b的中位数;(2)n1分为3种情况。;②若a[m1]b[m2],则舍弃序列a中前半部分(较小的一半),同时舍弃序列b中后半部分(较大的一半)要求舍弃的长度相等。;③若a[m1]b[m2],则舍弃序列a中后半部分(较大的一半),同时舍弃序列b中前半部分(较小的一半),要求舍弃的长度相等。舍弃一半即?n/2?个元素。;;;;;;;;;;;;4.1分治法概述;;;;;;;;问题描述:给定一个含n(1≤n≤10^5)个整数的数组?nums,设计一个算法找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
例如,nums={-2,1,-3,4,-1,2,1,-5,4},答案为6,对应的连续子数组是{4,-1,2,1}。
要求设计如下方法:
def?maxSubArray(self,?nums:?List[int])?-?int;;;;;;;;;;;;问题描述:含n个整数数组nums(0≤n≤3000,-10^5≤nums[i]≤10^5)。设计一个算法判断nums中是否存在三个元素a,b,c,使得a+b+c=0成立。要求找出所有和为0且不重复的三元组。
例如,nums={-1,0,1,2,-1,-4},结果为{{-1,-1,2},{-1,0,1}}。
要求设计如下方法:
def?threeSum(self,?nums)?-?List[List[int]]:;;;;;;【问题描述】给定若干个二维空间中的点,点集采用数组p存放,任意两个不同点之间有一个直线距离,求最近的两个点的距离。;对p中所有点按x坐标递增排序,采用分治法策略求解。;;;;;
您可能关注的文档
- 《算法设计与分析基础》(Python语言描述) 课件 第7章贪心法.pptx
- 《算法设计与分析基础》(Python语言描述) 课件 第3章基本算法设计方法.pptx
- 《算法设计与分析基础》(Python语言描述) 课件 第6章分支限界法.pptx
- 《算法设计与分析基础》(Python语言描述) 课件全套 李春葆 第1--9章 绪论、常用的数据结构及其应用 --- 最难问题—NP完全问题.pptx
- 职业道德与法律-第十一课.ppt
- 2022年大学农业工程专业大学物理下册模拟考试试卷D卷-附答案.doc
- 有关重阳节活动方案范文锦集八篇.docx
- 施工管理水利施工组织设计第一标段.doc
- 股权结构设计.docx
- 2022年大学工程力学专业大学物理下册期中考试试题D卷.doc
文档评论(0)