- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法4_递推关系:分而治之
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Multiplying binary numbers:
Use Gauss’ trick!
Now what is the recurrence relation? Running time? ;Given an input array of real numbers, we want to output the array in sorted order
MergeSort idea:
Split the array in half
Sort each half
Merge the two halves together ;;How do we merge?;What is the running time of this function?;What is the running time of MergeSort?;CircularShift problem
Suppose you are given a sorted array S with no duplicate values that has been circularly shifted. For example:
You don’t know how many positions it has been shifted by.
Describe a log(n) algorithm to find the maximum value
;;Find the non-duplicate
Given a sorted array S of integers. Each value present appears exactly twice in S, except for one (so if there are k distinct values, the length is 2k – 1). Find the non-duplicate value in better than O(logn) time. ;;The standard algorithm:
What is the running time?;A more efficient method was discovered by Volker Strassen in 1969!
What is the running time of this divide-and-conquer strategy? ;But it turns out that there is a way to decompose the problem into 7 subproblems, not 8!
What is the running time?;MaxSubarraySum problem
Given an array S with real numbers (some may be negative), find indices i, j with i j such that the sum of values S[i], …, S[j] is maximized
Hint: how can you combine results from subarrays? ;;How do we find the median of an array?
Sort the array; pick the midpoint
What is the running time of this?
But sorting does a lot of extra work… can we do better?;Let’s define a more general problem: given an array S, find the kth smallest value of the array
A divide-and-conquer solution to the above problem:
Pick a value v from the array S
Split S into three arrays: SL, Sv, and SR
SL contains values smaller than v
Sv contains values equal to v
SR contains values greater than v ;Example:
For a given v, what is the time required to perform this split?;From this split, how do we decide which arr
您可能关注的文档
最近下载
- 材料及配件采购方案.docx VIP
- 中国重症患者肠外营养治疗临床实践专家共识(2024).pptx VIP
- 2025年福建省中小学教师招聘考试真题及答案.docx VIP
- 人教版物理八上光的直线传播 (3).ppt VIP
- 2024年事业单位医疗卫生综合知识考试题库(含答案).pdf VIP
- 无痛纤支镜麻醉技术规范.pptx VIP
- 广东春季高考2025数学试卷.doc VIP
- 浙江省杭州市2024—2025学年高三上学期期末学业水平测试语文试题(含答案).doc.docx
- 专升本英语时态练习题.doc VIP
- 实验03 1-溴丁烷的化学性质-高二化学(人教版2019选择性必修3).docx VIP
文档评论(0)