笔记之数据结构绪论

最近在看大话数据结构,在这里对每章内容进行一个总结吧

一.起源

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间关系和操作等相关问题的学科.

程序设计 = 数据结构 + 算法

二.基本概念和术语

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)

指一个数学模型及定义在该模型上的一组操作

抽象的意义在于数据类型的数学抽象特性

抽象数据类型体现了程序设计中问题分解,抽象和信息隐藏的特性.


五.总结


数据的相关概念


数据结构

推荐阅读更多精彩内容