算法设计与分析
来源:互联网 发布:那个网络教育好 编辑:程序博客网 时间:2024/05/16 11:13
最近让我很头疼的一件事,就是做算法题。早就听师哥师姐们说算法特别难,这会儿终于体会到了。不过,我们不能被他打到,不能被他可怕的外表吓到。
【为什么难】我仔细想了想,为什么我们觉得他很难?原因有三:
(1)听从了别人的看法,还没开始就已经认为他很难;
(2)之前没有接触过C语言或者C++;
(3)踏不下心去读题,很浮躁。
这三种原因都是可以靠我们自己克服的,虽然没有学过C语言,但是我们学过C#,只不过是换了一身衣服,那三大控制结构是永远都不会变的。如果实在看不懂的,我们可以去网上找一些C语言的基础知识,看两眼之后你就会恍然大悟。
【核心思想】下面用一张思维导图来描述一下这几种算法的核心思想以及它们之间的关系:
(注:是动态规划法和贪心法,不是发,笔误请原谅!)
【背包问题】其中最典型的例子是用动态规划法求背包问题的最优解:
例如:重量分别是(2、2、6、5、5),价值分别是(6、3、5、4、6),背包容量为10,求装入背包的物品和获得的最大值?
解:如图所示,从第一排的最左边开始往右填数,一行一行的计算背包中获得的最大价值;
【总结】算法设计是一个很复杂的工作,要考虑多个目标,包括正确性、可读性、健壮性和高效性等。由于实际问题多种多样,问题求解的方法千变万化,所以,算法设计又是一个灵活的充满智慧的过程,需要设计人员根据实际情况具体问题具体分析。
1 0
- 算法分析与设计
- 算法设计与分析
- 算法分析与设计
- 算法设计与分析
- 算法设计与分析
- 算法分析与设计
- 算法设计与分析
- 算法设计与分析
- 算法设计与分析
- 算法设计与分析
- 算法设计与分析
- 算法设计与分析
- 算法设计与分析
- 算法设计与分析
- 算法设计与分析
- 算法分析与设计
- 书名: 算法分析与设计
- 常用算法分析与设计
- String to Integer (atoi)
- Java加密解密技术系列之RSA
- Spring-----<context:annotation-config/>
- 界面相关
- 扑克牌顺子(剑指offer)
- 算法设计与分析
- Quartz2D绘制水印文字没有阴影效果处理
- Unity3d 开发 代码创建预设
- 创建自己的循环Queue底层使用数组java版
- 黑马程序员--OC中常见的结构体
- Angularjs 控制器
- ASP.NET MVC + Bootstrap + XML + WCF 封装短信验证服务(二)
- 关于原生app和web app区别
- 设计模式