【数据结构绪论】 数据结构基础、数据类型、算法和算法分析

初识数据结构

基本概念和术语

        数据是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。如计数学计算中用到的实数和整数。

        数据元素是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。如图中的一个顶点。

        数据项是组成数据元素的、有独立含义的、不可分割的最小单位。如学生基本信息表中的学号、姓名、性别。

        数据对象是性质相同的数据元素的集合,是数据的一个子集。

数据结构

逻辑结构

        数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

        两要素:数据元素;关系。

        通常有四种基本结构:

集合结构:

 数据元素之间只有同属于这个集合这一个关系。

线性结构:

数据元素存在一对一关系。 

树结构:

 数据元素存在一对多关系。

                                                                        图结构:

 数据元素存在多对多关系。

 

        其中除了线性关系外,其他都是非线性关系。 线性结构包括线性表、栈和队列、字符串、数组、广义表。非线性结构包括树和二叉树、有向图和无向图。

存储结构

        存储对象在计算机中的存储表示成为数据的存储结构,也称为物理结构。把数据对象存储到计算机时,通常要求既要存储数据元素的数据,又要存储元素之前的逻辑关系,数据元素在计算机内用一个结点表示。数据在计算机中有两种基本的存储结构,分别是顺序存储结构和链式存储结构。

        1.顺序存储结构:把逻辑上相邻的元素存储在物理位置相邻的存储单元中,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。

        2.链式存储结构:对逻辑上相邻的元素不要求其物理位置相邻,元素间的逻辑关系通过附设的指针字段来表示,由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。

数据类型和抽象数据类型

数据类型

        数据类型是高级程序设计语言中的一个基本概念,前面提到过顺序存储结构可以借助程序设计语言的数组类型描述,链式存储结构可以借助指针类型描述,所以数据类型和数据结构的概念密切相关。

        抽象数据类型:一般指由用户定义的、表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称,具体包括三部分:数据对象、数据对象上关系的集合以及数据对象的基本操作的集合。

        抽象数据类型的定义格式如下:

ADT 抽象数据类型名{

        数据对象:<数据对象的定义>

        数据关系:<数据关系的定义>

        基本操作:<基本操作的定义>

}

其中,数据对象和数据关系的定义采用数字符号和自然语言描述,基本操作的定义格式为:

基本操作名(参数表)
    初始条件:<初始条件描述>
    操作结果:<操作结果描述>

        基本操作有两种参数:参数赋值之操作输入值引用参数以"$"打头,除可提供输入值外,还将返回操作结果。“初始条件”描述了操作执行之前数据集结构和参数应满足的条件,若初始条件为,则省略。“操作结果”说明了操作正常完成之后数据结构的变化状况和应返回的结果

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值