最近在看大话数据结构,在这里对每章内容进行一个总结吧
一.起源
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间关系和操作等相关问题的学科.
程序设计 = 数据结构 + 算法
二.基本概念和术语
1. 数据
是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合
2.数据元素
是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理,也被成为记录.
eg. 人类中的数据元素是人 .
畜类中数据元素是猫,狗,羊
3.数据项
1.一个数据元素是由若干个数据项构成
eg.人这样的数据元素,可以分为脚,手,眼,口,鼻etc. 也可分为姓名,性别这样的数据项
2.数据项是数据不可分割的最小元素
but.我们讨论问题时着眼于数据元素
4.数据对象
是性质相同的数据元素的集合,是数据的子集
5.数据结构
不同数据元素之间不是独立的,而是存在这特定的关系,这些关系成为结构
数据结构是相互之间存在一种或多种特定关系的数据元素的集合
三.逻辑结构与物理结构
1.逻辑结构
是指数据对象中元素之间的相互关系
1.集合结构
集合结构中的数据元素除了同属于一个集合之外,无任何其他关系.
2.线性结构
线性结构中的数据元素之间是一对一的关系
3.树形结构
树形结构中的数据元素之间存在一种一对多的层次关系
4.图形结构
图形结构中的数据元素是多对多的关系
PS.用示意图表示数据的逻辑结构时,注意:
1.将每一个数据元素看做一个结点,用圆圈表示
2.元素之间的逻辑关系用结点之间的连线表示,如果这个关系是有方向的,那么用带箭头的连线表示
2.物理结构
是指数据的逻辑结构在计算机中的存储形式,也叫存储结构
1.顺序存储结构
是把数据元素放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的
.顺序存储结构2.链式存储结构
把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的
其存储关系不能反映逻辑关系,需要用一个指针存放数据元素的地址
四.抽象数据类型
1.数据类型
1.定义
数据类型:指一组性质相同的值得集合及定义在此集合上的一些操作的总称
2.分类
原子类型:不可以再分解的基本类型,包括整型,实型,字符型
结构类型:由若干数据类型组合而成,可以再分解.
2.抽象数据类型(ADT)
指一个数学模型及定义在该模型上的一组操作
抽象的意义在于数据类型的数学抽象特性
抽象数据类型体现了程序设计中问题分解,抽象和信息隐藏的特性.
网友评论