小白学习之数据结构

数据结构绪论

数据——符号
数据元素——记录——人
数据项——数据的最小单位——手、姓名等

数据对象
是性质相同的数据元素的集合,是数据的子集。
在实际应用中,我们都将数据对象简称为数据。

数据结构——关系
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

结构
按照视点的不同,我们把数据结构分为逻辑结构和物理结构。

逻辑结构:是指数据对象中数据元素之间的相互关系。

  1. 集合结构(平等——同属一个集合)
  2. 线性结构(一对一)
  3. 树形结构(一对多)
  4. 图形结构(多对多)

我们在用示意图表示数据的逻辑结构时,要注意两点:

  1. 将每一个数据元素看做一个结点,用圆圈表示。
  2. 元素之间的逻辑关系用结点之间的连线表示,如果这个关系是有方向的,那么用带箭头的连线表示。

可以看出,逻辑结构是针对具体问题的,是为了解决某个问题,在对问题理解的基础上,选择一个合适的数据结构表示数据元素之间的逻辑关系。

物理结构:是指数据的逻辑结构在计算机中的存储形式。

数据的存储结构应正确反映数据元素之间的逻辑关系,这才是最为关键的,如何存储数据元素之间的逻辑关系,是实现物理结构的重点和难点。

数据元素的存储结构形式有两种:

  1. 顺序存储——排队占位
  2. 链式存储

逻辑结构是面向问题的,而物理结构就是面向计算机的,其基本的目标就是将数据及其逻辑关系存储到计算机的内存中。

数据类型
数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。

抽象数据类型(Abstract Data Type,ADT):是指一个数学模型及定义在该模型上的一组操作

描述抽象数据类型的标准格式:
在这里插入图片描述
小结:
在这里插入图片描述
在这里插入图片描述

算法

算法的定义:算法是解决特定问题求解步骤的描述,在计算机中为指令的有限序列,并且每条指令表示一个或多个操作。

算法的特性:有穷性、确定性、可行性、输入、输出。

算法的设计的要求:正确性、可读性、健壮性、高效率和低存储量需求。

算法复杂度

线性表

线性表(List):零个或多个数据元素的有限****序列

线性表的抽象数据类型
在这里插入图片描述在这里插入图片描述在这里插入图片描述

总结:

在这里插入图片描述

栈与列队

栈是限定仅在表尾(栈顶-top)进行插入和删除操作的线性表。

我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出(LastIn First Out)的线性表,简称LIFO结构。
在这里插入图片描述

队列是只允许在一端进行插入操作、而在另一端进行删除操作的线性表。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值