数据结构学习笔记

数据结构学习笔记

一、基本概念和术语
1.数据>数据对象>数据元素>数据项
2.数据(Data):是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。
3.数据对象(Data Object):是性质相同的数据元素的集合,是数据的一个子集。如学生的基本信息表。
【只要集合内元素的性质均相同,都可称之为一个数据对象】
4.数据元素(Data Element):是数据的基本单位,用于完整地描述一个对象。如一名学生记录。
5.数据项(Data Item):是组成数据元素的、有独立含义的不可分割的最小单位。如学生基本信息表中的学号、姓名、性别等。
6.数据结构(Data Structure):是相互之间存在一种或多种特定关系的数据元素的集合。
数据结构包括(1)逻辑结构和(2)存储结构两个层次。
(1)数据的逻辑结构通常有两个元素:数据元素与关系(数据元素之间的逻辑关系)。
根据数据元素之间关系的不同特性,通常有四类基本结构:
<1>集合结构:数据元素之间除了”属于同一集合“外,没有其他关系。
<2>线性结构:数据元素之间存在一对一的关系。
<3>树结构:数据元素之间存在一对多的关系。
<4>图结构或网状结构:数据元素之间存在多对多的关系。
【其中,集合结构、树结构:树、二叉树、图结构:有向图、无向图都属于非线性结构】
【线性结构包括线性表、栈、队列、字符串、数组、广义表】
(2)数据元素在计算机中有两种基本的存储结构:<1>顺序存储结构和<2>链式存储结构。
<1>顺序存储结构是借助元素在存储器中的相对位置来表示数据之间的逻辑关系,通常借助数组类型来描述。
【要求所有的元素依次存放在一片连续的存储空间中】
<2>链式存储结构需要给每个结点【数据元素在计算机中用一个结点来表示】附加指针字段,用于存放后继元素的存储地址(即首地址),通常借助指针类型来描述。
【每个节点占用两个连续的存储单元,一个存放结点的信息,另一个存放后继结点的首地址】
7.数据类型(Data Type):是一个值的集合和定义在这个值集上的一组操作的总称。
8.抽象数据类型(Abstract Data Type, ADT):一般由用户定义的、表示应用问题的数学模型以及定义在这个模型上的一组操作的总称。
抽象数据类型具体包括三部分:数据对象、数据对象关系上的集合、对数据对象的基本操作的集合。
抽象数据类型的定义格式:
ADT 抽象数据类型名{
数据对象:{数据对象的定义}
数据关系:{数据关系的定义}
基本操作:{基本操作的定义}
}ADT 抽象数据类型名
【数据对象和数据关系的定义采用数学符号和自然语言描述】
【基本操作的定义格式:
基本操作名(参数表)
初始条件:<初始条件描述>
操作结果:<操作结果描述>】
【基本操作有两种参数:(1)赋值参数和(2)引用参数
(1)赋值参数只为操作提供输入值
(2)引用参数以”&“开头,除可提供输入值外,还将返回操作结果】
二、线性表
1.非空线性表的基本特点:(1)除第一个元素没有直接前驱和最后一个元素没有直接后继外,每一个元素都有一个直接前趋和直接 后继。
(2)存在唯一一个被称作”第一个“和“最后一个“的数据元素。
2.线性表中的元素可以是单个字母,也可以是若干个数据项。
3.由n(n>=0)个数据特征相同的元素构成的有限序列称为线性表
【同一线性表中的元素必定具有相同的特性,即属于同一数据对象。】
4.线性表中元素的个数n(n>=0)定义为线性表的长度,n=0时称为空表。
5.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值