随着计算机的问世,数据作为计算机程序的处理对象也随之产生了。在计算机的发展初期,计算机主要用于数值性计算,处理的是数值性数据,其特点是数据量少,计算比较复杂。在这一阶段,“数据结构与算法”还未形成一门系统的学科,而是零星地分布在程序设计、图论、集合、代数、操作系统和编译原理等课程中。随着计算机的发展,计算机应用领域的不断扩大,计算机不仅要处理数值性数据,也要处理非数值性数据。据统计,现在非数值性计算占到了90%以上,而且由于数据量越来越大,数据之间的关系也越来越复杂,这么多的数据在计算机中并不是杂乱无章地存放,而是有其内在的联系,只有把它们之间的关系分析清楚,才能有效地对数据进行处理。因此,除了考虑数据本身的数学特性之外,还必须考虑数据的存储结构,在这种情况下,“数据结构与算法”这门课程也随之形成。