数据结构C语言版-PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17
形成阶段: 60年代初期,“数据结构”有关的内容散见于操作 系统、编译原理和表处理语言等课程。1968年, “数据结构”被列入美国一些大学计算机科学系的 教学计划。 发展阶段: 数据结构的概念不断扩充,包括了网络、集合代数 论、关系等“离散数学结构”的内容。
1.1 数据结构的概念
《数据结构课程》
姓 名 项 目 1 项 目 2 丁 一 跳 高 跳 远 马 二 标 枪 铅 球 张 三 标 抢1 0 0 米 李 四 铅 球2 0 0 米 王 五 跳 远2 0 0 米 项 目 3 1 0 0 米 2 0 0 米 跳 高
12
1.1 数据结构的概念
非数值计算问题:
跳高 跳远 标枪 铅球 A B C D
所处的地位:
18
1.2 基本概念和术语
数据(Data):
对信息的一种符号表示。在计算机科学中是指所有
能输入到计算机中并被计算机程序处理的符号的总 称。
数值型数据 非数值型数据
19
1.2 基本概念和术语
数据元素(Data Element): 数据的基本单位,在计算机程序中通常作为一个 整体进行考虑和处理。 一个数据元素可由若干个数据项组成。数据项 是数据的不可分割的最小标识单位。 姓 俱乐 出生日期 名 部名 年 月 日 称 入队 日期 职 业 位 绩
…….
按作者名
001,… 002,… . 004,… . …….
按分类号
L S …… 002,… 001,003, ……
8
树
–
例 井字棋
……..
……..
9
…...
…...
…...
…...
1.1 数据结构的概念
非数值计算问题:
例 电话号码查询问题:
(1)按顺序存储方式:须遍历表 (2)按姓氏索引方式:索引 要写出好的查找算法,取决于这张表的结构及存 储方式。 电话号码表的结构和存储方式决定了查找(算法) 的效率。
----田径赛的时间安排问题解法
(1)设用如下六个不同的代号代表不同的项目:
100米 200米 E F
(2)用顶点代表比赛项目
不能同时进行比赛的项目之间连上一条边。
(3)某选手比赛的项目必定有边相连(不能同时比赛)。
13
姓名 丁一 马二
项目1 A C
项目2 B D
项目3 E
只需 安排四 个单位 时间进 行比赛
比赛时间
比赛项目
张三
李四 王五
C
D B
E
F F
F
A
1 2 3 4
A F
D C B E
A,C B,D E F
14
1.1 数据结构的概念
在应用程序中涉及到各种各样的数据,如何在计 算机中组织、存储、传递数据,需要讨论它们的 归类及它们之间的关系,从而建立相应的数据结 构,依此实现软件功能。 综上,描述这类非数值计算问题的数学模型不是 数学方程,而是树、表和图之类的数据结构。 因此从广义上讲,数据结构描述现实世界实体的 数学模型及其上的操作在计算机中的表示和实现.
课程重要性
编程基础 考研课程 计算机等级考试课程
程序员考试课程
3
第一章 绪论
1.1 数据结构的概念 1.2 基本概念和术语 1.3 抽象数据类型 1.4 算法和算法分析
4
1.1 数据结构的概念
为什么要学习数据结构? 什么是程序、软件?
N.沃思(Niklaus Wirth)教授提出: 程序=算法+数据结构
20
1.2 基本概念和术语
数据对象(Data Object): 性质相同的数据元素的集合。是数据的一个子集。
整数数据对象
N = { 0, 1, 2, … }
字母字符数据对象 C={ ‘A’, ‘B’, ‘C’, … ‘F’ }
书目卡片 0 0 1 高 等 数 学 樊 映 川 0 0 2 理 论 力 学 罗 远 祥 登录号: 0 0 3 高 等 数 学 华 罗 庚 0 0 4 书名: 线 性 代 数 栾 汝 书 … … Байду номын сангаас者名: … … … …
按书名
S 0 1 L 0 1 S 0 1 S 0 2 … …
索引表
分类号: 高 等 数 学 0 0 1 , 0 0 3 … … 樊映川 出版单位: 理 论 力 学 0 0 2 , … … . . 华罗庚 出版时间: 线 性 代 数 0 0 4 , … … 栾汝书 价格: … …… … . .
6
1.1 数据结构的概念
数值计算解决问题的一般步骤:
数学模型→选择计算机语言→编出程序→测试→最 终解答。 数值计算的关键是:如何得出数学模型(方程)? 程序设计人员比较关注程序设计的技巧。
非数值计算问题:
数据元素之间的相互关系一般无法用数学方程加以 描述
7
–
例 书目自动检索系统
线性表
书目文件
10
–
例 多叉路口交通灯管理问题
图
AB BA BC
AC BD
AD B
C
D
DA EA EB
DB
DC
A
E
EC
ED
11
1.1 数据结构的概念
非数值计算问题:
例 田径赛的时间安排问题(无向图的着色问题) :
设有六个比赛项目,规定每个选手至多可参加三个项目,
有五人报名参加比赛(如下表所示)设计比赛日程表, 使得在尽可能短的时间内完成比赛。
15
1.1 数据结构的概念
求解非数值计算的问题:
主要考虑的是设计出合适的数据结构及相应的算法。 即:首先要考虑对相关的各种信息如何表示、组织和 存储? 因此,可以认为:数据结构是一门研究非数值计算 的程序设计问题中计算机的操作对象以及它们之间 的关系和操作的学科。
16
1.1 数据结构的概念
数据结构课程的形成和发展:
Data Structure
数据结构(C语言版)
教 师:李伟生 电 话:62471342 Email:liwscqupt.edu
课程安排
总学时:32 讲课学时:24 教材:《数据结构C语言版》严蔚敏、吴伟民
-----清华大学出版社
《数据结构题集》严蔚敏,清华大学出版社
2
参考书: 《数据结构》(用面向对象方法与C++描述),殷人 昆等,清华大学出版社 辅导 每周五下午:信息科技大厦1901
以上公式说明了如下两个问题: (1)数据上的算法决定如何构造和组织数据(算法→数据结构) (2)算法的选择依赖于作为基础的数据结构(数据结构→算法)。
软件=程序+文档(软件工程的观点)
5
1.1 数据结构的概念
电子计算机的主要用途:
早期:
主要用于数值计算。
后来:
处理逐渐扩大到非数值计算领域(能处理多种复杂的 具有一定结构关系的数据)。