@[TOC]数据结构学习【0】------框架
什么是数据结构?
数据结构简单的来讲就是相互之间存在着某种关系的数据元素的集合
数据结构三要素
在讨论数据结构时,我们需要关注这三个方面,也是学习数据结构时的基本框架【划重点】
逻辑结构
讨论数据元素之间的逻辑关系是什么样子滴。。。
线性结构
- 描述各个数据元素之间是一对一的关系
树形结构
- 描述各个数据元素之间是一对多的关系
图状结构
- 描述数据元素之间是多对多的关系
数据的运算
顾名思义,是施加在数据上的运算
什么叫运算的功能呢?
- 比如说:增加数据元素,删除数据元素,查找数据元素,修改数据元素,取出数据元素,…
什么叫运算的具体操作呢?
- 指在我现在这个存储结构下,我是如何对它操作,来实现上面所述的功能滴;
物理结构
也叫做存储结构,指针对某种逻辑结构在存储空间中的存放方式
以下我将根据逻辑结构为线性结构来做讨论
顺序存储
- 指在内存中,每个元素的地址空间是相邻的,连续的;通俗地讲,就是你跟你有一堆房子,而且每个房子的门牌号还都是连着的,如门牌号为:
2001,2002,2003… - 【注意 】: 在此结构下,各个元素的数据类型都要是一样的哟;
链式存储
- 指在内存中,每个元素的地址空间不是挨着的,需要通过指针来寻找
索引存储
- 在存储元素信息的同时,还需要建立附加的索引表,索引表的每项称为索引项,索引项的一般形式是(关键字,地址)
散列存储
- 根据元素的关键字直接计算出该元素的存储地址,又称为哈希(Hash)存储
我们为啥要学习数据结构呢?
- 我想要把现实中的信息在计算机中表示;
- 想让别人在解决问题时能够方便的用到我们定义的这种结构
我们怎么更好的学习数据结构呢?
在下面的学习中我们将根据一下的框架来掌握数据结构
我以逻辑结构是线性结构为例
- Step1 : 掌握线性结构的定义
- Step2:掌握线性结构在顺序存储方式下的定义以及基本操作
- Step3:掌握线性结构在链式存储方式下的定义以及基本操作
然后对于其他的逻辑结构,也是按照这种框架进行学习就好了。
最后,
感谢大家的观看,
希望大家积极纠错,
我也会积极改正滴吖!!!