一,概述
问题:求一维数组中连续子向量的最大和。
例如:a[6]={3,4,-2,-9,10,8}; 则最大连续子向量的和 为 10+8 = 18
1)解法一:简单算法
2)两个平方算法
算法一:
算法二:
3)分治算法
思想:以m为分界线,最大值有三种情况
一:在m左侧
二:在m右侧
三:跨越m
关键:最初求解左右最大值时候,一定要从中间向两侧递增。看源码解释……
【注意】 max2() 如果用宏 #define max(a,b,c) max(a,b) >c?max(a,b):c 则不会得到正确结果
4)扫描算法
二,总结
优化算法的策略
1)保存已经计算的状态,避免重复计算。
2)将信息预处理到数据结构中。例如算法二
3)分治算法,采取更高级的算法
4)扫描算法,巧妙
5)下界:证明某个匹配的下界,确定最优算法
三,习题
10)可以采用两种方法:O(n*n)
返回结果是 1
可以采用O(nlogn)的算法
返回结果是 1
13)最大子数组问题,给定n*n数组,求矩形子数组的最大总和。
详见博客:http://blog.csdn.net/tianshuai11/article/details/7487882
分享到:
相关推荐
《编程珠玑 第2版(修订版)》是一本深受程序员喜爱的经典著作,它不仅提供了丰富的编程实践经验,还深入探讨了程序设计的艺术与智慧。这本书的修订版更是在原版基础上进行了更新和完善,旨在帮助程序员提升编程技能,...
2. **算法设计与分析**:《编程珠玑》强调了算法的重要性,不仅介绍了常见的排序和搜索算法,还讨论了如何在实际应用中选择和改进算法,以提高程序的运行效率。 3. **数据结构的应用**:书中详细讲解了各种数据结构...
第8章 算法设计技术 73 8.1 问题及简单算法 73 8.2 两个平方算法 74 8.3 分治算法 75 8.4 扫描算法 77 8.5 实际运行时间 77 8.6 原理 79 8.7 习题 80 8.8 深入阅读 81 第9章 代码调优 83 9.1 典型的故事 ...
《编程珠玑第二版英文版》是一本深受程序员喜爱的经典著作,由Jon Bentley 所著。这本书以其深入浅出的方式探讨了程序设计的艺术,通过一系列精心挑选的问题和解决方案,揭示了编程中的智慧与技巧。书中的每个章节都...
《编程珠玑(第二版)》是一本深受程序员喜爱的经典著作,它由Jon Bentley 所著,详尽探讨了程序设计中的效率问题和算法优化。这本书不仅提供了实用的编程技巧,还深入浅出地讲解了如何通过巧妙的思维来解决复杂的问题...
2. **问题分解与算法设计**:书中强调了将复杂问题分解为小问题来解决的重要性,并介绍了如何设计出优雅且高效的算法。这对于提升编程思维和解决问题的能力非常有帮助。 3. **输入/输出处理**:在实际编程中,高效...
9. **column8.cpp**: 第八章可能涉及到了性能分析和优化,书中可能会讲解如何通过分析算法的时间复杂度和空间复杂度来改进程序性能。 每个`.cpp`文件都代表了《编程珠玑》中某一章节的C++代码实现,这为读者提供了...
8. **编程语言特性**:虽然《编程珠玑》并不专注于特定的语言,但它会涉及到不同语言的设计理念和特性,帮助读者更好地理解和比较不同的编程语言。 9. **算法复杂性分析**:书中会介绍如何分析算法的时间和空间...
8. **跨学科应用**:除了纯粹的技术细节外,《编程珠玑》还展示了算法在生物学、物理学等多个领域的广泛应用前景。 9. **高级主题探索**:对于想要深入了解特定领域的读者来说,《编程珠玑》也提供了一些更深层次的...
第8章“算法设计技术”介绍了平方算法、分治策略和扫描算法等设计技术,并讨论了它们的实际运行时间。第9章“代码调优”提供了代码优化的策略,包括对二分搜索的深度优化。第10章“节省空间”则关注代码和数据空间的...
算法,第3章 数据决定程序结构,第4章 编写正确的程序,第5章 编程小事,第6章 程序性能分析,第7章 粗略估算,第8章 算法设计技术,第9章 代码调优,第10章 节省空间,第11章 排序,第12章 取样问题,第...
本资料主要围绕《编程珠玑》第二版展开,该书作为计算机科学领域的经典之作,旨在通过一系列精心挑选的问题与解答,帮助读者提升编程技能,并深入理解算法设计与分析的基本原则。 #### 一、算法设计与分析 在...
《编程珠玑》是计算机科学领域的一本经典著作,作者是Jon Bentley。这本书以其深入浅出的方式探讨了程序...通过阅读《编程珠玑》第二版,不仅能掌握编程技术,还能培养解决问题的思维方式,提高自身在编程领域的素养。
《编程珠玑第二版中英资源》这个压缩包可能包含了这本书的中文和英文版,对于想要深入学习编程理念和技术的读者来说,是一份宝贵的资料。通过阅读和理解这些内容,可以提升编程技能,更好地应对实际工作中的挑战。
《编程珠玑第二版》是计算机科学领域的一本经典著作,由Jon Bentley撰写,中文与英文双语版本,旨在帮助读者提升编程技巧和算法思维。这本书深入浅出地探讨了程序设计的问题解决策略,以及如何通过优化算法来提高...
《编程珠玑第二版》是计算机科学领域里一本极具影响力的经典著作,由Jon Bentley 所著,中文版和英文版的结合使得读者可以根据自己的语言习惯选择阅读。这本书深入探讨了程序设计的艺术,尤其是在数据结构、算法优化...
这本书的第二版更加完善了第一版的内容,为读者提供了更多关于算法设计和分析的洞察力。书中通过一系列精心挑选的实际编程问题,探讨了如何优雅地解决问题并优化程序性能。 该书的核心知识点可以分为以下几个方面:...
- 第8章节探讨了多种算法设计技术,包括分治法、动态规划等,并通过具体实例展示了这些技术的应用场景。 - **代码调优规则:** - 附录4提供了一系列用于优化代码性能的经验法则,帮助开发者识别并解决性能瓶颈。 ...