本章问题:什么是算法?为什么研究算法?算法作用是什么?
1.1 算法
算法:输入转换成输出,计算过程,计算步骤的序列。求解计算问题的工具。
问题实例:一组计算必需的输入。
对每个输入都正确输出——算法正确——解决问题。
不正确算法——不停机/以不正确回答停机。控制错误率可能也有用。
必须精确描述。
解决的问题:无处不在。特征:
1.许多候选解,但都没有解决问题;
2.实际应用。
数据结构:存储、组织数据的方式,便于访问和修改。不同数据结构的优势和局限。
算法设计技术。//“鱼”与“渔”。
难题:NP完全。特点:
1.不知道是否存在有效算法;
2.一个存在有效算法则所有都存在——互相联系;
3.类似于已知算法的问题。
证明NP完全——开发给出一个“好”(不是“最好”)的解的算法。
并行性:单一芯片的多台顺序计算机。
1.2 作为一种技术的算法
研究算法的理由:正确、时间、空间——有限资源。
设计带来显著的的效率差别,可能比硬件软件造成的更重要。随着问题规模增大而优势增大。
系统性能依赖于算法技术:
1.应用需要算法内容;
2.应用对算法的依赖:硬件、图形用户界面、网络、编译/解释/汇编;
3.问题规模大时效率差别更显著。
本文探讨了算法的概念及其在解决问题中的核心作用,强调了算法设计对于提高效率的重要性,并介绍了算法在不同场景下的应用,包括数据结构的选择及算法设计技术。

1737

被折叠的 条评论
为什么被折叠?



