计算机的发明要从计算导弹的轨道谈起,起初计算机的应用只是科学计算。随着微电子技术的发展,计算机的功能也越来越强大,计算机的应用面已早已不再只是单纯的科学计算。计算机技术开始走进工厂,走进政府,走进各行各业,千家万户。由此,软件开发人员不得不面临一个如何把现实生活中各种各样的数据转化成计算机能够理解的0,1代码。而高级语言能给我们提供的数据类型是有限的,这些类型不能很好的描述生活中各种各样的数据的关系。数据结构在这里解决了这个问题。
数据结构利用高级语言提供的基本类型,对这些基本的数据类型进行组合,并在它的基础上定义一系列的操作,封装成一个单独的模块。作为软件的基础,构成软件的其他模块只需要调用这些抽象的数据类型的操作进行数据处理,而不需要了解这些模块的实现细节,大大提高了软件的复用率。抽象的数据类型只是在逻辑上对数据进行了描述,然而在具体实现的时候需要如何在计算机上表示这些数据间的关系。通常有顺序存储结构和链式存储结构来描述数据之间的这种关系。
都说一个的应用程序时一个好的数据结构和一个好的算法。可见数据结构是软件开发的基础。