- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法期末参考(Algorithm final reference)
算法期末参考(Algorithm final reference)
1. Divide-and-conquer method:
* * algorithm thinking * *
* * decomposes a problem of size n into k smaller subproblems that are independent and identical to the original problem.
* * solve this k sub problem separately. If the size of the subproblem is still not small enough, then it can be divided into k sub problems, so the recursion goes on, until the problem is small enough to solve the problem.
* * the solution of the small scale problem will be merged into a solution of a larger problem, and the solution of the original problem will be obtained from the bottom up.
Non recursive algorithm for binary search
Public static int binarySearch (int a [], int x, int n)
{/ / in a [0] = a [1] =... = a [n-1] search for x and return it when x is found
/ / in the array, returns -1
Int left = 0; Int right = n - 1;
While (left = right) {
Int mid = (left + right) / 2;
If (x = = a (mids)) return mid; / / find return position mid?
If (x (mids) a) left = mid + 1; / / narrowing the range
The else right = mid - 1; / / narrowing the range
}
The return - 1; / / not found x
}
Recursive algorithm for binary search
Int? Binary (int? A [], int? Left,? Int? Right? Int? X) / / Binary recursive lookup
{
???? Int? Mid? =? (left + right) / 2;
???? If? (left? ? Right? The return? - 1; / / not found????
???? If? (a/mid? = =? X)? ? The return? Mid; / / just find it?
???? The else? If? (a (mids)? ? X)? / / smaller than the middle element, recursively find the left array
?????????? The return? Binary (a, left,? Mid - 1,? X);
???? Else?? / / larger than the middle element, recursively find the right array
?????????? The return? Binary (a, + 1, mid? Right? X);
}
2. Dynamic planning:
* * algorithm thinking * *
* * dynamic programming algorithm is similar to the divide-and-conquer method, and its basic idea is to decompose the problem into several sub-problems
But the decomposed subproblems tend not to be independent of each other. The number of different subprob
您可能关注的文档
- 日本神话1(Japan myth 1).doc
- 日语字面难解单词总汇(The Japanese language is literally difficult to understand).doc
- 日语拨音(Japanese dial tone).doc
- 日语音标(Japanese phonetic symbol).doc
- 时差计算(The time difference calculation).doc
- 时空新理论——空子理论(The new theory of space-time -- the theory of space).doc
- 时评评论央视(Commentary CCTV).doc
- 日语学科(Japanese subjects).doc
- 时间管理——如何应对外界的干扰(Time management - how to deal with external distractions).doc
- 时间跳跃(Time to jump).doc
- 算法分析与设计复习资料(Algorithm analysis and design review data).doc
- 管理03(Management 03).doc
- 管理1324(Management, 1324).doc
- 管理故事鲶鱼效应(Management story catfish effect).doc
- 管理统计学1-3(Management statistics 1-3).doc
- 管螺纹表示方法(The pipe thread representation method).doc
- 篮球技巧(Basketball skills).doc
- 粒子的建立(Establishment of particles).doc
- 管理软件(Management software).doc
- 粒子的波动性教学设计(The teaching design of the fluctuation of the particle).doc
文档评论(0)