408之数据结构与算法——1.绪论

本文介绍了数据结构的基础概念,包括数据元素、数据项和数据结构的三要素:逻辑结构、物理结构(存储结构)以及数据运算。讨论了不同类型的逻辑结构如集合、线性、树形和图状结构。物理结构涵盖顺序存储、链式存储、索引和散列存储。此外,文章还阐述了算法的基本概念和特性,强调了正确性、可读性和效率的重要性,并提到了时间复杂度和空间复杂度作为衡量算法性能的关键指标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


人生不应该被束缚于规定的轨迹,如同沉重的锁链,而是应该如一条流淌的江河,自由而灵动。生活并非一幅精确的图画,而是一幅抽象的油画,每一笔都是我们自己挥洒的。或许我们永远找不到生命的终极答案,但这正是人生的神秘之处,我们要毫不保留地去拥抱这个未知的旅程,如同欣赏一幅抽象画,不求解答,只求沉浸其中,感受其中的美妙。

1. 数据结构

  1. 数据:
    数据是信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被计算机程序识别和处理的符号集合

  2. 数据元素:
    数据元素是数据的基本单位,通常作为一个整体进行处理。

  3. 数据项:
    一个数据元素可以由若干个数据项组成,数据项构成数据元素不可分割的最小单位

    在这里插入图片描述

  4. 数据结构:
    数据结构是相互之间存在的一种或多种特定关系的数据元素的集合
    数据结构三要素逻辑结构,物理结构(存储结构),数据的运算

  5. 数据对象:
    数据对象是具有相同性质的数据元素集合,是数据的一个子集

  6. 数据类型:
    原子类型:其值不可再分的数据类型,如(int,bool 等)。
    结构类型:其值可以分解为若干成分的数据类型,如(struct定义的,class定义的)。

  7. 抽象数据类型:
    抽象数据组织及与之相关的操作。【定义了逻辑结构、数据的运算,只有在实现的时候才确定物理结构(存储结构)】
    在这里插入图片描述

2. 数据结构三要素

2.1 逻辑结构

  1. 集合
    各个元素同属于一个集合,数据之间再无其他关系。

  2. 线性结构
    数据元素之间是一对一关系。
    除了第一个元素,所有元素都有唯一前驱;除了最后一个元素,所有元素都有唯一后继。

  3. 树形结构
    数据元素之间是一对多关系。

  4. 图状结构(网状)
    数据元素之间是多对多关系。

2.2 物理结构(存储结构)

数据的存储结构:①.影响存储空间分配的方便程度 ②.影响对数据运算的速度。
后三个为非顺序存储。

  1. 顺序存储
    逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的逻辑关系存储单元的邻接关系来体现
  2. 链式存储
    逻辑上相邻的元素存储在物理位置上可以不相邻,元素之间的逻辑关系指针体现
  3. 索引存储
    在存储元素的同时,还建立附加的索引表。索引表中的每项称为索引项,索引项(关键字,地址)。
  4. 散列存储
    通过元素的关键字直接计算出该元素的存储地址,又被称为哈希存储(Hash)。

2.3 数据的运算

数据的运算:施加在数据上的运算包括运算的定义运算的实现

运算的定义: 针对逻辑结构,指出运算的功能。
运算的实现: 针对存储结构,指出运算的具体操作步骤。

3. 算法

3.0 概念

程序 = 数据结构 + 算法
算法:是对特定问题求解步骤的一种描述。

3.1 算法的特性

算法的特性注意点
有穷性算法必须有穷,程序可以无穷
确定性相同输入只能得出相同输出
可行性算法中的操作,可以通过已经实现的基本运算的有限次来实现
输入一个算法有零个或多个输入
输出一个算法有一个或者多个输出
‘好’ 算法的特性注意点
正确性
可读性
健壮性
高效率时间复杂度低(运行的快)
低存储量需求空间复杂度低(不费内存)

4. 时间复杂度与空间复杂度

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值