接下来我们将会先学习Python 的基本数据类型,以及堆、栈、链表、树和图等数据结构,这是学习算法的基础。套用行业内的一句话:
数据结构是算法的骨骼。
数据结构是一门庞大的学科,远不是一本书就可以讲清楚的。如果想更深入地学习,可以参考类似《数据结构教程》等专门讲解数据结构的书籍。
Java的数据类型我准备放在Java专栏进行讲解,不过不影响后面的算法使用Java与Python一起讲解,接下来让我们先学习 Python的数据类型。
数据结构是指彼此存在关系的数据的集合。因此要了解数据结构,就得先了解数据。
数据结构是算法的骨骼,而骨骼有骨架和骨头之意。那么我们可以这样理解:数据结构是骨架,而数据则是一块块骨头,即骨架是指彼此存在关系的骨头的集合。
最常见的数据类型分为以下两种:
静态类型在编译期间会报告类型错误,因此需要显式地声明数据类型。C、C++和 Java
就属于这种情况。
与静态类型相反,动态类型则会在运行时检查类型错误,也就是说不需要显式地声明数据类型。Python、Ruby 和 JavaScript 都是这种情况。
一般来说,静态类型和动态类型都有其相应的优点,而这些优点有时候也是缺点,只是看开发者如何取舍。
在静态类型的语言(如C++)中,开发者必须在使用前就声明变量,而且必须在执行代码前进行分析。这样做虽然麻烦,但是可以确保变量类型是匹配的,从而对变量的控制会更有力,安全性也就更高。
动态类型可以通过隐式的数据类型声明减少一部分代码,从而让编程变得更简洁、容易。但是这个特性在大型项目的开发中容易引发维护性的问题。
Python 的数据类型与其他语言有些许不同,不过万变不离其宗,接下来让我们从简单的数据类型开始学习,最终揭开数据结构的面纱。
数据结构是算法的骨骼,是指彼此存在关系的数据的集合。数据结构可以理解为骨架,而数据则是构成骨架的骨头。常见的数据类型可以分为静态类型和动态类型,静态类型需要显式声明数据类型,如C++和Java;动态类型在运行时检查类型错误,不需要显式声明数据类型,如Python、Ruby和JavaScript。静态类型的优点是能够确保变量类型匹配,增强变量的控制和安全性;动态类型可以减少代码量,使编程变得简洁、容易。Python的数据类型与其他语言有些许不同,但仍然遵循数据结构的原则。在学习数据结构时,我们可以从简单的数据类型开始,逐渐深入了解不同的数据结构。