绪论:什么是数据结构

数据结构概述

数据

指的是能输入并能被计算机识别和处理的符号。
我们可以将数据分为两类
1:整数,小数等数值数据
2:文字,图像等非数值数据

数据元素:

数据的基本单位,通常作为一个整体进行考虑和处理

数据项

多个数据项用来组成数据元素,数据项是构成数据元素不可分割的最小单位,性质相同的数据元素通常具有相同个数和相同类型的数据项组成

数据对象

具有相同数据项的数据元素的集合

举例图
举例图

关系图解
关系图

数据结构

指相互之间存在一种或多种特定关系的数据元素的集合。或者说,数据结构是带结构的数据元素集合。在任何问题中,数据元素之间都不是孤立存在的,它们之间存在着某种关系,数据元素相互之间的关系我们就称之为结构

数据的逻辑结构

数据的逻辑结构反映的是数据元素之间的逻辑关系,其中的逻辑关系是指数据元素之间的前后间关系,而与他们在计算机中的存储位置无关

按照四类的基础逻辑结构划分

1:集合结构
2:线性结构,一对一线性关系
3:树形结构,一对多层次关系
4:图形结构或者网状结构,多对多层次关系
在这里插入图片描述

按照线性和非线性划分

1:线性结构:在线性结构中,有且仅有一个开始和终端结点,并且所有节点都最多有一个直接前驱和一个直接后继。也就是,数据元素之间存在“一对一”的关系。常见的线性结构有:数组、链表、队列、栈等
2:非线性结构:简单地说,非线性结构就是表中各个结点之间具有多个对应关系(即一对多关系和多对多关系),在非线性结构的一个结点可能有多个直接前驱结点和多个直接后继结点。常见的非线性结构有:二维数组、多维数组、树结构和图结构等

数据的物理结构

顺序存储结构

用一组连续的存储空间单元来依次的存储数据元素,数据元素之间的逻辑关系由存储位置来表示,在java中,数组采用顺序结构存储数据
在这里插入图片描述

链式存储结构

用一组任意的存储单元来存储数据元素,通过保存地址的方式找到相关联的数据元素,数据元素之间的逻辑关系用引用(指针)来表示。数据结构中链表采用的就是链式存储结构
在这里插入图片描述

索引存储结构

除建立存储结点信息外,还建立附加的索引表来标识结点的地址。例如:图书目录、字典的目录、通讯目录等

散列存储结构

根据结点的关键字直接计算出该结点的存储地址。java集合中的HashSet和HashMap采用的都是散列存储结构,一种神奇的结构,添加、查询速度快
在这里插入图片描述

逻辑结构和物理结构总结

逻辑结构是从具体问题抽象出来的数据模型,是面向问题的,反应了数据结构的关联方式或邻接关系;物理结构,指的就是逻辑结构在计算机中的存储形式,是面向计算机的,其目标是将数据及逻辑关系存储到计算机中。

在这里插入图片描述
一般来说,一种数据结构可以用多种存储结构来存储,而采用不同的数据存储结构,其数据的处理效率往往不同

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值