第 1 章绪论
¾数据结构的兴起和发展
¾数据结构的研究对象
¾数据结构的基本概念
¾算法及算法分析
本章的基本内容是:
1938年出生,25岁毕业于加州理工
学院数学系,博士毕业后留校任
教,28岁任副教授。30岁时,加盟
斯坦福大学计算机系,任教授。从
31岁起,开始出版他的历史性经典
巨著:
The Art of Computer Programming
他计划共写7卷,然而出版三卷之
后,已震惊世界,使他获得计算机
科学界的最高荣誉图灵奖,此时,
他年仅36岁。
数据结构的创始人 数据结构的创始人——克努思
1.1 数据结构的兴起和发展
程序设计的实质是什么?
数据表示:将数据存储在计算机中
数据处理:处理数据,求解问题
数据结构问题起源于程序设计
¾ 数据结构随着程序设计的发展而发展
¾ 数据结构的发展并未终结
- 无结构阶段
- 结构化阶段:数据结构+算法=程序
- 面向对象阶段: (数据结构+算法)=程序
1.1 数据结构的兴起和发展
1.2 数据结构的研究对象
• 计算机求解问题:
问题→抽象出问题的模型→求模型的解
• 问题——数值问题、非数值问题
数 值 问 题→数学方程
已知三角形三条边求面积——海伦公式:
• 假设三边长为a,b,c,面积为s,则
• p=(a+b+c)/2
• s2=p*(p-a)(p-b)(p-c)
非数值问题→数据结构
例1 学籍管理问题——表结构
学号 姓名 性别 出生日期 政治面貌
0001 王 军 男 1983/09/02 团员
0002 李 明 男 1982/12/25 党员
0003 汤晓影 女 1984/03/26 团员
1.2 数据结构的研究对象
如何实现对弈?各格局之间是什么关系?
……
……… ………
…… …… ……
例3 教学计划编排问题——图结构
C4, C5 C7 数据库原理 , C6
C2 C6 计算机原理 , C4
C3 C5 数据结构 , C4
C1 C4 程序设计 , C2
C3 离散数学 C1
C2 计算机导论 无
C1 高等数学 无
编号 课程名称 先修课
1.2 数据结构的研究对象
C1
C2
C3
C4
C6
C5
C7
如何表示课程之间的先修关系?
数据结构是研究非数值问题中计
算机的操作对象以及它们之间的关系
和操作的学科。
1.2 数据结构的研究对象
1.3 数据结构的基本概念
数据:所有能输