数据结构(基础知识)

一、概念

什么是数据结构?在日常生活中有一些我们无法用数学运算来完成的计算,一些非数值的程序设置的问题,描述非数值计算问题的数学模型不是数学方程,而是一些表、树、图之类的具有逻辑关系的数据。可见,数据结构是一门研究非数值计算的程序设计中计算机的操作对象以及它们之间的关系和操作的学科。
1.先看数据

数据是能输入计算机且能被计算机处理的各种符号的集合

包括数值型:整数、实数 非数值型:文字、图像、图形、声音

数据是由数据元素构成的,数据元素是数据的基本单位,而数据元素是由一个个数据项组成,可见数据项是构成数据元素的最小的单位

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

2.再看结构

数据元素相互之间的关系成为结构 ,是指一种或多种的关系

数据元素之间的逻辑关系,成为逻辑结构

数据元素及其关系在计算机内存中的表示(又称为映像),称为数据的物理结构或数据的存储结构

数据的运算和实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现

1.逻辑结构是描述数据元素之间的逻辑关系,与数据的存储无关,独立于计算机,是从具体问题抽象出来的数学模型
2.存储结构是数据元素及其关系在计算机存储器中的结构是在计算机中的表示
3.存储结构是逻辑关系的映像与元素本身的映像,逻辑结构是数据结构的抽象,存储结构是数据结构的实现,两者综合起来建立了数据元素之间的结构关系。

二、种类

·以逻辑结构划分

划分方法一:

线性结构和非线性结构,线性结构一对一连接,例如线性表、栈、队列、串

非线性结构有:图和表

划分方法二:

集合结构:结构中的数据元素之间除了同属于一个集合关系外无其他关系。

线性结构:存在一对一的线性关系。

树形结构:结构中的数据元素之间存在一对多的层次关系。

图状结构或网状结构:结构中的元素之间存在多对多的任意关系。

·以存储结构划分

顺序存储结构:数据元素之间的逻辑关系由元素的存储位置来表示 连续的内存存储 例如数组

连接存储结构:用一组任意的存储单元存储数据元素 任意的内存 指针来实现的

索引存储结构:在存储结点信息的同时,建立附加的索引表

散列存储结构:根据结点的关键字直接计算出该结点存储地址

三、数据类型

高级语言中的数据类型明显地或隐含地规定了在程序执行期间变量和表达的所有可能的取值范围,以及在这些数值范围上所允许进行的操作

定义:数据类型是一组性质相同的值的集合以及定义这个值集合上的一组操作的总称。

数据类型 = 值的集合 + 值集合上的一组操作

例如,C语言中定义变量i为int,就是表示i是[-min,max]范围的整数,在这个整数集上可以进行+、-、*、/;

所以数据类型的作用就是约束变量的取值范围、约束变量的操作

·抽象数据类型(ADT)

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

定义图:

注:这类似于C++中的类 可以按照类理解抽象数据类型 即面向对象

概念小结:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值