考研408数据结构 · 开端

引言

  • 数据结构在学什么
  • 对C语言掌握要求
  • 数据结构三要素
    • 逻辑结构
    • 数据运算
    • 存储结构
  • 程序 = 数据结构 + 算法
  • 什么是算法?
  • 评价算法
    • 时间复杂度
    • 空间复杂度(考察频率相比较低)

数据结构在学什么

考研408数据结构 · 开端_第1张图片

  1. 如何把问题信息化
  • 场景:现在需要将1000本不同类型的书摆放到图书馆的书架上。
  • 研究问题:采取什么办法摆放?
  • 方法有:
    ① 不管不顾从头到尾一本一本放
    ② 按照图书类型分门别类地摆放
  1. 如何高效处理问题
  • 在上一步摆放的基础上,如何摆放新的图书?
  • 如何快速找到,并借走一本书?
  • 如何快速找到位置。并归还一本书?

数据结构要求我们研究数据(如图书)之间的关系(如相同类型),找到一种方法存储数据,并能高效地对数据实现增删改查

对C语言掌握要求

  1. 分支(if/else)循环(for、while)
  2. 数组
  3. 函数
  4. 指针、地址
  5. struct结构体

数据结构三要素

逻辑结构

线性结构(一对一)
考研408数据结构 · 开端_第2张图片

树形结构(一对多)
考研408数据结构 · 开端_第3张图片

图结构(多对多)
考研408数据结构 · 开端_第4张图片

数据运算

基于某种逻辑结构,定义基本运算
以线性结构为例:
在第i个位置插入新的数据元素
删除第i个位置的数据元素
修改第i个元素
查找是否存在某个数据元素等于指定值

存储结构

顺序存储: 用数组
链式存储: 用链表
索引存储: 引入索引表(关键字 | 地址 )
散列存储: 用哈希表

程序 = 数据结构 + 算法

什么是算法?

解决问题的步骤

评价算法

时间复杂度

  • 只看最深一层中循环中某条语句执行次数
  • 只看次数中n的最高阶数

在这里插入图片描述
考研408数据结构 · 开端_第5张图片
只考虑最坏时间复杂度和平均时间复杂度

空间复杂度(考察频率相比较低)

  • 只需关注与问题规模相关的变量
  • 只看n的最高阶数
  • 对于递归算法,一般情况下 空间复杂度 = 递归调用的深度

你可能感兴趣的:(24考研计算机系列之数据机构,数据结构,考研)