算法设计与问题求解(第2版):计算思维培养
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 程序设计语言与数据结构

学习要点

● 理解C语言中数值范围和数值精度的限制

● 掌握基本数据结构的原理和应用

● 了解标准模板库中的主要容器和算法的用法

高级程序设计语言是算法设计和实现的载体,用于正确实现高效的算法。“程序设计”课程强调语法较多,对于影响算法正确性和效率的细节阐述不够,如变量的数值范围、浮点型数据的精度等,即程序设计语言的“盲点”。

数据是信息的载体,是算法设计和实现的基础。无论是待求解问题的输入和输出,还是问题求解过程中产生的中间量;无论是简单的量(如单个数值)还是复杂的对象,它们在计算机中都是以数据的形式存储的。在问题求解时,为满足数据存储的结构化要求并提高程序执行效率,人们首先面临的问题是怎样合理地组织、存储和加工这些数据。“数据结构”是计算机专业最重要的必修课程之一,其内容博大精深,完整论述数据结构超出了本书的范围。本章概要介绍基本数据结构的原理和使用方法,为后续算法设计与实现奠定必要的基础。

很多基本的数据结构已经非常成熟,标准模板库(Standard Template Library,STL)中封装了大部分常用的数据结构和算法。STL的可重用性和效率都非常高,开发者如果熟练掌握了STL,就可以站在巨人的肩膀上考虑算法设计与实现。