例子1:学生管理系统
操作对象:每位学生的信息(学号,姓名,性别,籍贯,作业)
操作算法:查询,插入,修改,删除。
操作对象之间的关系:线性关系(第一行为表头,最后一行为表尾)
数据结构:线性数据结构,线性表。
类似的还有:图书管理系统,人事管理系统,仓库管理系统,通讯录管理系统.......
例子2:人机对弈问题
井字棋:通过计算机找出下一步的位置,来预测下一步的发展局势。
操作对象之间的关系:非线性关系,树。
文件系统的系统结构
磁盘根目录下有很多子目录及文件,每个子目录里面又可以包含多个子目录及文件,但每个子目录只有一个父目录,以此类推。
例子3:地图导航-求最短路径(最快路径)
将每个地点当做一个点,将他们点与点连接起来,构成网状结构(图)。分析点与点之间的最短路径。
以上都是“非数值计算”的程序设计问题。不是数学方程,而是诸如“表”,“树”和“图”之类的逻辑关系的数据。
数据结构就是研究非数值计算的程序设计中计算机的操作对象以及他们之间的关系和操作的学科。