天天看点

数据结构与算法-绪论前言一、数据结构的基本概念二、算法

数据结构与算法

  • 前言
  • 一、数据结构的基本概念
    • 1.数据,数据元素和数据集合
    • 2.数据的逻辑结构
    • 3.数据的存储结构
    • 4.对数据的操作
    • 5.数据类型于抽象数据类型
  • 二、算法
    • 1.什么是算法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、数据结构的基本概念
    • 1.数据,数据元素和数据集合
    • 2.数据的逻辑结构
    • 3.数据的存储结构
    • 4.对数据的操作
    • 5.数据类型于抽象数据类型
  • 二、算法
    • 1.什么是算法

前言

提示:求大佬带

提示:以下是本篇文章正文内容,下面案例可供参考

一、数据结构的基本概念

1.数据,数据元素和数据集合

  1. 数据:数据,是一种符号(文字、数字、语义符号、图形等)信息媒介;
  2. 数据元素:数据的基本单位,表示数据(信息)中的一组数据
  3. 数据项:数据元素中的基本单位
  4. 关键字:标识数据元素的数据项(类似于数据库中的候选码)
  5. 主关键字:可以唯一标识数据元素的关键字(类似于数据库中的主键)

ps:数据元素可以是一个单一的原子项,也可以由多个数据项组成

(原子项:)

2.数据的逻辑结构

  1. 数据结构:由N(N>=0)个数据元素组成的有限集合
  2. 数据的结构:数据的逻辑结构,数据的存储结构和对数据的操作
  3. 数据的逻辑结构:是数据元素之间的逻辑结构。数据的逻辑结构主要分为种。一是线性结构,二是树结构,三是图结构。
    • 线性结构:由n个相同的数据类型的数据元素组成的有限数列,除去首尾两个元素,其他元素都有前驱元素和后驱元素。也称顺序关系。
      • eg:将数据元素有顺序的连接起来(不可重复连接)。比如:数组
    • 树结构: 数据元素是结点。边表示层次关系。
      • eg:族谱(从爷爷辈开始)
        数据结构与算法-绪论前言一、数据结构的基本概念二、算法
      • 线性结构是树的特例
    • 图由顶点集合和边集合组成的数据结构,图中的数据元素称为顶点,顶点间的关系称为边。图对数据元素之间的关系没有限制。
      • 例如:
        数据结构与算法-绪论前言一、数据结构的基本概念二、算法
    • 树是图的特例,线性结构是树的特例

3.数据的存储结构

  1. 顺序存储结构:连续的存储。确定大小并开辟一个连续的空间。(类型必须相同)。确定大小:(相同类型的数据类型的byte位是确定的,byte位✖大小就是开辟空间的大小),通过下标访问(下标×byte位+下标为0的地址得到要访问的数据的地址)。比如:数组
    数据结构与算法-绪论前言一、数据结构的基本概念二、算法
  2. 链式存储结构:离散存储(数据你想放那就放那),每一个数据元素就是一个结点,结点由数据域,地址域组成。数据域存储数据,地址域存储下一个结点的地址。首位连接就可以组成线性表。
    • 链式存储
      数据结构与算法-绪论前言一、数据结构的基本概念二、算法

4.对数据的操作

  1. 初始化
  2. 判断是否为空
  3. 存取
  4. 遍历
  5. 统计数据元素的个数
  6. 插入
  7. 查找
  8. 深拷贝
  9. 排序
  10. 比较相等

5.数据类型于抽象数据类型

  1. 数据类型: 具有相同逻辑意义的一组值的集合,以及定义在中集合上的运算和操作集合。
  2. 抽象数据类型: 自定义的一种数据类型,对其中的运算和操作只给出抽象定义,而不去实现。
    • 数据抽象: “定义于实现相分离”,将一种类型的数据与逻辑含义与具体实现相分离。
    • 声明抽象数据类型
  3. 参考:参考博客

二、算法

1.什么是算法

  1. 算法: 是一个有穷规则的集合,确定了解决某一类问题的操作序列。
    • 特征: 有穷性,确定性,可行性,输入,输出
    • 算法设计的五个目标: 正确性,健壮性,高时间效率,高空间效率,可读性
      数据结构与算法-绪论前言一、数据结构的基本概念二、算法

什么是算法:参考博客

算法时间复杂度:参考博客

算法的空间复杂度:参考博客

继续阅读