从第一台通过接入网线和交换机来传递人的指令的计算机开始,我们编程思考的方式发生了许多变化。与社会的许多方面一样,计算技术的变化为计算机科学家提供了越来越多的工具和平台来实践他们的工艺。计算机的快速发展诸如更快的处理器,高速网络和大的存储器容量已经让计算机科学家陷入高度复杂螺旋中。在所有这些快速演变中,一些基本原则保持不变。计算机科学关注用计算机来解决问题。
毫无疑问你花了相当多的时间学习解决问题的基础知识,以此希望有足够的能力把问题弄清楚并想出解决方案。你还发现编写代码通常很困难。问题的复杂性和解决方案的相应复杂性往往会掩盖与解决问题过程相关的基本思想。
本章着重介绍了其他两个重要的部分。首先回顾了计算机科学与算法和研究数据结构所必须适应的框架,特别是我们需要研究这些主题的原因,以及如何理解这些主题有助于我们更好的解决问题。第二,我们回顾 Python 编程语言。虽然我们不提供详尽的参考,我们将在其余章节中给出基本数据结构的示例和解释。