DataStructure_第一章 绪论

第一讲 数据结构的基础概念

  • 数据( Data )
    数据 是 描述客观事物的数值 字符以及能输入及其且能被处理的各种符号 的集合

  • 数据元素 ( Data Element )
    数据元素 是组成数据的基本单位, 是数据集合的个体, 在计算机中通常作为一个整体进行考虑和处理
    eg: 一条记录

  • 数据对象 ( Data Object )
    数据对象 是 性质相同的数据元素的集合, 是数据的一个 子集.
    eg: 整数集合 和 字符集合

  • 数据结构 ( Data Structure )
    数据结构 是指相互之间存在一种或多种特定关系的数据元素集合, 是带有结构的数据元素的集合, 他指的是数据元素之间的相互关系, 即数据的组织形式

也就是说, 强调 组成数据的基本单位-数据元素 的集合, 并且这个集合带有结构,
eg
图书馆 和 书, 图书馆 的 数据元素 是 书, 但是构成图书馆的书又在各个书架上, 就是说图书馆对书带有一定结构
那么这样, 就说图书馆是一个数据结构
在这里插入图片描述

  • 数据类型( Data Type )
    数据类型 是 一组性质相同的 值的集合 以及 定义在这个值上的 一组操作 的 总称

也就是说 数据类型 是 值的集合 和 操作的集合
eg: C++ 的 long long 类型 取值范围的集合 大概是 -1e18 ~ 1e18 , 运算符集合 为 + - * / % & ^ ! 等
可以说是 数据类型 是 计算机中已经实现的数据结构

  • 抽象数据类型 ( Abstract Data Type )
    抽象数据类型( 简称ADT ) 定义了一个 数据对象, 数据对象中各元素间的结构关系, 以及一组处理数据的 操作,
    抽象数据类型 最重要的特点是 数据抽象 与 信息隐蔽

ADT 包括 定义 和 实现 两方面, 其中定义是独立于实现的.

也就是说,

第二讲 数据结构的内容

在这里插入图片描述


  • 逻辑结构: 数据元素之间逻辑关系 的描述

四种逻辑结构:

  • 集合结构: 结构中的数据元素之间除了同属于一个集合的关系外, 无任何其他关系
  • 线性结构: 结构中的数据元素之间存在这一对一的线性关系
  • 树形结构: 结构中的数据元素之间存在着一对多的层次关系
  • 图形结构: 结构中的数据元素之间存在着多对多的任意关系

  • 存储结构: 是逻辑结构的实现, 是在计算机中的存储影响

两种存储结构:

  • 顺序存储结构
  • 非顺序存储结构


  • 运算集合
    eg, 增删改查

第三讲 数据结构与C语言表示

算法特性

  • 有限性
  • 确定性
  • 输入
  • 输出
  • 可行性

设计要求

  • 正确性
  • 可读性
  • 健壮性(鲁棒性)
  • 高效率和低存储

第四讲 算法性能评价

评价

  • 时间
  • 空间

时间复杂度: 一语 句频度刻 画随问题规模n增加的函数f(n)执行时间亮度, 记做 T(n)=O(f(n))

  • 常数阶 O(1), eg 单个语句

  • 线性阶 O(n), eg 单层循环

  • 平方阶 O(n2), eg 内外层循环

空间复杂度: 已存储单个数刻画随问题规模增加的函数f(n)存储空间量度, 基座 S(n)=O(f(n))

第五讲 算法与算法的描述

一些简单的逻辑不写了

发布了160 篇原创文章 · 获赞 146 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44510468/article/details/104605801