数据结构在学什么?
如何用程序代码把现实世界的问题信息化
(做软件)。如何用计算机高效地处理这些信息从而创造价值(卖软件)。如何表示信息化的财富,信息化的排队下单,两人互相关注等等实际问题。
人类社会的发展,迄今经历了和经历着三个浪潮:第一次浪潮为农业阶段,从约1万年前开始;;第二次浪潮为工业阶段,从17世纪末开始;第三次浪潮为正在到来的信息化阶段。
农业化使人类摆脱蒙昧,工业化使人类与自然抗衡,而信息化会把人类引向何方呢?
如何用计算机解决问题?
把问题抽象成数学模型(分析问题,提取对象,找出对象间相应关系,用数学语言描述关系)编辑其算法,编出程序,测试调整得到最终解答。预测人口增长情况的数学模型为微分方程,这是有数值的计算问题。还有很多非数值的计算问题,比如图书馆书目检索的自动化问题(“表”的数据结构),计算机和人对弈问题(“树”的数据结构),多岔路口交通灯管理问题(“图”的数据结构)等等。而数据结构主要就是研究这些非数值的计算问题(数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作等的学科)。